文章目錄
使用locust進行測試
1、Fiddler配置
2、下載Fiddler的安全證書
3、手機端安裝證書
4、手機端配置代理
5、導出抓包數據
6、使用har2case工具生成測試腳本
har2case examnew.har -2y
7、使用httprunner調試腳本
hrun examnew.yml
8、接口返回考試超時的問題
解決辦法:需要提取joinId
9、result參數校驗失敗的問題
解決辦法:不要驗證result參數的內容
10、重新調試腳本
11、安裝locust
12、啓動locust
13、運行測試
注意:
如果要模擬1000個用戶的話,建議使用10臺電腦,每臺電腦開100個線程。
14、響應時間統計
交卷的響應時間比較長
15、界面查看結果
考試系統壓力測試報告
一、測試方案
1、 優化前做一次壓測
1) 壓測環境:預生產環境
2) 線程數量:100
3) 持續時間:60分鐘
2、優化後做一次壓測
1) 壓測環境:預生產環境
2) 線程數量:100
3) 持續時間:30分鐘
二、優化前進行壓測
壓測開始時間:14:39
壓測結束時間:15:35
Nginx服務器監控
分析:
1)負載不大
2)cpu10%使用率
3)內存佔用上升10%
4)外網流量帶寬佔用40%
Tomcat服務器監控
數據庫服務器cpu佔用率比較高
分析:數據庫主集羣cpu被跑滿了,大量的insert語句導致。
考卷1和考卷2有無法交卷的情況
分析:
1)考卷1和考卷2提交比較慢
2)cpu上來了,查什麼都會很慢,交卷就更慢了,一共有37條數據還沒交卷,應該在等。慢慢都會的,擠壓到一起了。這些接口響應超過12S,移動端請求就斷掉了,就是空白。
4) 因爲數據庫壓力過大,一條insert語句遲遲沒有返回,那鏈接就一直等待,結果前端請求timeout了
5) 都是些insert語句比較耗時,cpu都沒下來過,全是慢sql
考卷3和考卷4提交正常
考卷4是200道試題,不壓測的時候進入也會有點卡
分析:
考卷4 ,試題200道,的確很大
建議:
前端可能需要優化
接口響應時間統計
三、優化後進行壓測
壓測開始時間:16:18
壓測結束時間:16:50
交卷響應時間有很明顯的改善(考卷1和考卷2)
題目加載時間比較長(考卷3和考卷4)
考卷4的交卷響應時間有點慢
仍會出現白屏的問題(白屏了幾秒,然後題目出來了)
分析:
那這個問題應該就是藉口正確返回了,但是因數據量較大,移動端渲染的時候報錯了。
建議:
前端可能需要優化。
數據庫服務器cpu下不來
應用服務器cpu在壓測期間有負載
分析:
沒有生產環境誇張,需要模擬更多的用戶進行壓測。
慢SQL統計
接口響應時間統計
小結
性能優化還是在個位數,攻堅戰還是數據庫訪問上能做文章的話就可以達到指數形式提升了。
參考資料
[01] 安卓模擬器怎麼設置代理
[02] 接口自動化測試 httprunner+locust+python 安裝與實踐
微信掃一掃關注公衆號
點擊鏈接加入羣聊
https://jq.qq.com/?_wv=1027&k=5eVEhfN
軟件測試學習交流QQ羣號:511619105