首先確定下做壓力測試的工具和性能的監控工具,這個壓測的工具使用的是ab、監控工具使用的是nmon。
看下linux主機上的ulimit -n 的數據是多少,為改動過的是1024,最好要改的大一點。這個是linux下最大線程數,如果過小的話無法進行大並量的測試。
ab經行壓力測試時的腳本我用的形式為:
1.(get方式)./ab -n 1000 -c 1000 -k http://xxx.xxxxx.com/synth/open/recurls.do?test=true
2.(post方式./ab -n 2500 -c 2500 -k -p postfile.ab http://xxx.xxxx.com/synth/open/getTheme.do postfile.ab中為json數據)
其中參數n為請求的次數,c為一次請求的並發次數,-k為keep_alive,一般出現鏈接被重置的錯誤時最好帶上-k的參數。
還有好多參數,可以在ab--help中看下(這個是超級秘籍)。
貼出來
結果的每一項的意義就不多說了 在baidu google上一搜一堆的。
在每一次壓測的同時,可以開啟nmon進行實時監控,並打開nmon的記錄功能進行數據的記錄。
但是做完壓測後發現點問題一直不得解惑,希望那位大蝦給指點迷津:
1.出現failed requests 時 如何確定錯誤信息是什麼,為什麼會出現錯誤。
2.出現The timeout specified has expired (70007)、Connection reset by peer (104)錯誤時,是應該測試人員去解決,還是開發人員去調優?