軟體名稱
簡介
優缺點
webbench
由Lionbridge公司開發,主要測試每秒鐘請求數和每秒鐘資料傳輸量,同時支援靜态、動态、SSL
部署簡單,靜動态均可測試。适用于小型網站壓力測試(單例最多可模拟3萬并發)
ab(apache bench)
Apache自帶的壓力測試工具,主要功能用于測試網站每秒鐘處理請求個數
多見用于靜态壓力測試,功能較弱,非專業壓力測試工具
tcpcopy
基于底層應用請求複制,可轉發各種線上請求到測試伺服器,具有分布式壓力測試功能,所測試資料與實際生産資料較為接近
後起之秀,主要用于中大型壓力測試,所有基于 tcp的packets均可測試
loadrunner
壓力測試界的泰鬥,可以建立虛拟使用者,可以模拟使用者真實通路流程進而錄制成腳本,其測試結果也最為逼真
模拟最為逼真,并可進行獨立的單元測試,但是部署配置較為複雜,需要專業人員才可以。
(1)安裝webbench
如果出現缺少xx檔案,建立即可
(2)進行壓力測試,在另一台server上發起測試,因為很耗記憶體
并發200時
參數解釋:-c為并發數,-t為時間(秒)
nginx.conf 内 worker_connections 1024;(測試的時候必須小于等于這個允許的并發數)
從200往上加,使用 grep 'GET /' /var/log/nginx/access.log | grep '10/Sep/2014'|wc -l , grep 'GET /' /var/log/apache2/access.log | grep '10/Sep/2014'|wc -l 指令分别統計nginx伺服器和兩個負載伺服器接收到的包
關閉iptables後(centos :service iptables stop ubtuna:ufw disable)
并發600時

檢視了/var/log/apache2/error.log有很多無法通路的問題,估計是壓力測試量太大了。配置有待優化,在網上看到講Apache2.conf的優化,apache2ctl -l檢視支援哪種模式,我的是prefork.c,則将兩個均衡server的apache2.conf檔案修改:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 6
ServerLimit 550
MaxClients 500
MaxRequestsPerChild 10000
</IfModule>
修改此指令的值必須完全停止服務後再啟動才能生效,先停止再啟動以restart方式重新開機動将不會生效。 ServerLimit 必須放在MaxClients上面 且值>=MaxCliens
并發1000測試:
697+627=1324 ,丢了52次請求,比之前好了點
對upstream處理:
使用ip_hash時:
沒有起到均衡,因為測試時ip固定
使用RR輪詢:
剛開始在upstream内有一個空格,導緻均衡效果差,相對于135server,138請求很少:
删除空行後基本均衡,可是空行應該不影響配置檔案啊,在網上也沒查到結果,是不是在進行壓力測試時,在通路量很大的情況下也相當于在配置檔案内加入很多空行???
本文轉自 轉身撞牆角 51CTO部落格,原文連結:http://blog.51cto.com/chentianwang/1701575