前置内容:https://blog.csdn.net/yangxiaobo118/article/details/80716709
資源位址:https://download.csdn.net/download/yangxiaobo118/10482990
測試内容
一. 測試前準備
110.109.104三台linux伺服器啟動zookeeper叢集
啟動activitymq叢集
目前master為109
啟動memcached叢集
啟動指令:/usr/local/memcache/bin/memcached -d-l 192.168.1.109 -p 11211 -m 2048 -u root
用戶端連接配接memcached正常
模拟資料采集添加
一千條模拟資料添加:
資料添加中
資料添加完畢
資料源消費完成
下載下傳apache旗下httpd利用其元件ab進行測試
啟動完成
一. 開啟分布式緩存和不開啟緩存的純mysql系統的并發能力測試
1.編寫測試接口
接口說明:由于ab并發測試不支援位址的變換,是以隻能在業務層去模拟使用者随機通路系統資源。解決方案是通過随機數字尾去模拟使用者要查詢的資料字尾,進而實作資料查詢。模拟随機實作代碼如下:
2.開啟分布式緩存并發100和不開啟分布式緩存并發100的比較圖
開啟分布式緩存測試結果
不開啟分布式緩存結果
如上圖所示開啟緩存百分之九十九的請求在1秒内完成,而不開啟緩存百分之五十的在四秒内完成。
3.開啟分布式緩存并發200和不開啟分布式緩存并發200的比較圖
開啟分布式緩存測試結果
不開啟分布式緩存結果
如上圖所示開啟緩存百分之一百的請求在1秒内完成,而不開啟緩存百分之五十的在四秒内完成。
4.開啟分布式緩存并發300和不開啟分布式緩存并發300的比較圖
開啟分布式緩存測試結果
不開啟分布式緩存結果
如上圖所示開啟緩存百分之九十九的請求在1秒内完成,而不開啟緩存百分之五十的在四秒内完成。
Ab測試選項
測試所用url為
http://localhost:8080/CacheManagerV1.0/ha.do
如下輸出
二.相同并發量請求下,開啟分布式緩存的系統和純mysql系統的平均處理時間的測試
1.開啟memcached緩存測試300并發量,30000次請求參數填寫
./ab -n 30000 -c 300 http://192.168.1.103:8080/CacheManagerV1.0/ha.do
2.開啟memcached緩存的測試結果為,如下圖所示,300并發量,30000次請求,百分之百的請求響應都沒超過1秒。百分之九十八的請求是在0.5秒内完成的,失敗的請求為2974個。
3.我們将memcached叢集停掉繼續測試300并發30000請求,如下圖所示,300并發量,30000次請求,百分之五十的請求響應超過了4秒。百分之九十九的請求是在8秒内完成的。
是以得出結論,分布式緩存大大提升了系統的性能,使高并發和HA為大流量通路解決方案成為可能。