1. 程式人生 > >壓力測試-http壓測工具stress使用

壓力測試-http壓測工具stress使用

對於大型專案來說,高併發高流量的場景是必然的,這種時候壓力測試就非常必要,而現在的壓測工具良莠不齊,而且好多的是付費的,效果也不怎麼好。

這次我主要是在一個定時紅包雨的活動中(該活動的介面放在一個流量比較大的模組內),由於使用者的請求都是在幾秒內同時發出,所以一旦使用者基數過大就可能對叢集的承載造成威脅,萬一把叢集搞掛了那我可能就要收拾行李滾蛋了。。所以為了自己安全,做個壓測是必要的。

這裡我使用的是gitlab上的開源工具stress,傳送的是http請求,這次我使用的是POST方式施壓,當然還有還有一些其他方式,具體參照https://github.com/buaazp/stress/tree/master/doc文件說明

該工具使用比較簡單,選兩臺伺服器一臺作為施壓,另一臺被施壓,然後在施壓的過程中看下伺服器的狀態,以及nmq訊息佇列中的處理速度。

這邊我們在gitlab上下載好工具,上傳到伺服器然後解壓,然後執行release.sh指令碼就行了,這裡可能會報一些錯誤,應該是指令碼有些命令識別不了,不過只要把工具包下載下來就沒問題。

然後選擇自己對應的包解壓,我這次使用的是stress-darwin-amd64.tar.gz,解壓完沒看到新增東西,不過我們輸入stress,能看到提示的話說明工具就能使用了

ok,然後寫個txt裡面加入我們的介面位置就可以開始壓測了!

stress attack -targets=test.txt -c=100 -n=10

這裡的引數具體看文件,一般自己估摸下自己的場景qps峰值能到多少,這次我估計的是到300.

不過由於用的被施壓的伺服器配置不行,,差點把它搞崩潰了,處理了二十多分鐘才處理完所有請求

不過這個工具後面應該還可以完善,等自己實力更高一些再回頭來鑽研下

具體還有些資料大家自己壓測的時候也要注意

這次紅包雨為了防止請求數太大,採用了現將請求放到nmq中,然後再慢慢處理,其中將結果先直接返回給使用者,紅包的資料之後慢慢寫到db裡,而且為了防止使用者反覆傳送請求,使用memorycache快取使用者的紅包結果。

百度雲stress工具下載,以及我的壓測結果報告也在其中,僅供參考

連結:https://pan.baidu.com/s/1nwXtg8p 密碼:uue1

關注微信公眾號,給你好看