中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • memcached演練(4) 使用apache+memcached-session-manager+tomcat集群(續)

memcached演練(4) 使用apache+memcached-session-manager+tomcat集群(續)

發布時間:2020-07-07 02:44:45 來源:網絡 閱讀:902 作者:randy_shandong 欄目:數據庫

memcached演練(4) 使用apache+memcached-session-manager+tomcat集群,存在一些問題。問題列表

問題1:2個tomcat節點,apache,memcached服務器均放在一個虛擬機,不能真正模擬真實環境。

問題2:不能整整模擬分布式環境。

本文,重新設計下物理結構。沿用《memcached演練(4) 使用apache+memcached-session-manager+tomcat集群》配置。僅僅將主機進行了調整。

memcached演練(4) 使用apache+memcached-session-manager+tomcat集群(續)


操作步驟。

1.將配置好的tomcat節點分別復制到 2個主機

scp -r apache-tomcat-node1 root@hadoop2:/u01
scp -r apache-tomcat-node2 root@hadoop3:/u01

2.修改apache的worker.properties

[root@hadoop1 /]# vi /etc/httpd/conf/workers.properties 
worker.list=loadbalancer
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.163.156
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat2.port=8019
worker.tomcat2.host=192.168.163.166
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1,tomcat2
worker.loadbalancer.sticky_session=true

3.修改每個節點的tomcat的context相關MSM配置

   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
      memcachedNodes="n1:192.168.163.146:11211" sticky="false"
      requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" />

指向192.168.163.146:11211


4.測試下吞吐量

c:\Apache24\bin>ab  -n 10000 -c 4  http://192.168.163.146/examples/testSession.jsp
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.163.146 (be patient)
Completed 1000 requests
...
Completed 10000 requests
Finished 10000 requests
Server Software:        Apache/2.2.15
Server Hostname:        192.168.163.146
Server Port:            80
Document Path:          /examples/testSession.jsp
Document Length:        331 bytes
Concurrency Level:      4
Time taken for tests:   10.322 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      5930000 bytes
HTML transferred:       3310000 bytes
Requests per second:    968.84 [#/sec] (mean)
Time per request:       4.129 [ms] (mean)
Time per request:       1.032 [ms] (mean, across all concurrent requests)
Transfer rate:          561.06 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.4      1       5
Processing:     0    4  11.7      3     585
Waiting:        0    4  11.7      3     585
Total:          0    4  11.7      3     585
ERROR: The median and mean for the initial connection time are more than twice the standard
       deviation apart. These results are NOT reliable.

吞吐量:968.84。比上節中的測試結果“727.55”超出不少。

經過多次測試,差別有點大。

Requests per second:    1281.74 [#/sec] (mean)

Requests per second:    1451.22 [#/sec] (mean)


模擬一臺節點宕機情況,測試吞吐量

c:\Apache24\bin>ab  -n 10000 -c 4  http://192.168.163.146/examples/testSession.jsp
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.163.146 (be patient)
Completed 1000 requests
...
Finished 10000 requests


Server Software:        Apache/2.2.15
Server Hostname:        192.168.163.146
Server Port:            80

Document Path:          /examples/testSession.jsp
Document Length:        331 bytes

Concurrency Level:      4
Time taken for tests:   7.994 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      5930000 bytes
HTML transferred:       3310000 bytes
Requests per second:    1250.92 [#/sec] (mean)
Time per request:       3.198 [ms] (mean)
Time per request:       0.799 [ms] (mean, across all concurrent requests)
Transfer rate:          724.41 [Kbytes/sec] received

吞吐量:1250.92。FUCK出乎意料啊。竟然比2個節點的情況下還高。

多次測試,發現均在1700左右。

Requests per second:    1729.64 [#/sec] (mean)

Requests per second:    1779.67 [#/sec] (mean)。


結果出乎我的意料。 記住這個結果,以后做個監控分析下。


最后討論

關于session應該不應該使用memcached存儲,可詳見《為什么不能用memcached存儲Session》

簡單整理下表格

 usual session pattern
usual memcached session pattern
* Blobs (250 bytes to 5k+)
* Read from datastore on every single page load
* Usually written to the datastore on every page load
* Reaped from the DB after inactivity
* Read from memcached on page load
* 'set' over the existing session with a new expiration time
* Cache misses mean user is logged out

1.Run your instances out of memory and people get logged out early, or can't log in at all

2.Upgrading memcached, the OS, hardware, etc, now kicks people off

3.Adding or removing servers to the cluster, now kicks people off



如果非常希望借助memcached提高Session讀取速度,那么可以借鑒Norkūnas提出的memcached+RDBMS(在有些情況下,NoSQL也可以)的模式:

  • 當用戶登錄時,將Session “set”到memcached,并寫入數據庫;

  • 在Session中增加一個字段,標識Session最后寫入數據庫的時間;

  • 每個頁面加載的時候,優先從memcached讀取Session,其次從數據庫讀取;

  • 每加載N頁或者Y分鐘后,再次將Session寫入數據庫;

  • 從數據庫中獲取過期Session,優先從memcached中獲取最新數據。

內容來自:http://www.infoq.com/cn/news/2015/01/memcached-store-session

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泽州县| 灌云县| 高邮市| 甘谷县| 灵寿县| 永年县| 石林| 基隆市| 青阳县| 深水埗区| 焦作市| 镇赉县| 侯马市| 安化县| 灵武市| 遂昌县| 湖南省| 湄潭县| 正定县| 闵行区| 平顶山市| 白朗县| 长春市| 上高县| 库车县| 温宿县| 高陵县| 息烽县| 丹巴县| 普定县| 乌兰县| 自贡市| 黎平县| 太湖县| 峨山| 镇安县| 庄河市| 汽车| 巴马| 丰顺县| 淳安县|