前言
- 回顧幾年前,做性能測試,尤其是服務器性能測試難度比較大,一是測試人員本身技術不足,二是測試的生態環境
不夠完善(參考資料少、實用案例少、工具選型少),然而在這兩年隨着測試環境的生態逐步完善,性能測試也就
不那么難了!
測試目標
- 通過wetest測試工具,找出系統能夠承受的最大壓力,並找出性能瓶頸。
本次要測試的為微信小游戲的后台服務器性能問題。
測試資料准備
- 接口文檔(以便測試人員了解各個接口的請求方式)
- 與開發溝通,了解服務器部署的方式(根目錄、日志文件位置)
- 服務器硬件指標(多少內存、硬盤類型(SSD or 高性能雲盤)、網絡帶寬、CPU性能指標)
- 騰訊雲賬號並購買wetest服務
測試策略
- 由於此次性能測試無任何歷史依據,故測試策略采用選用最基礎的登錄接口、排行榜頁面查詢接口、分享接口的幾個核心
接口,進行單接口,多接口混合測試!
- 對登錄接口、排行榜頁面查詢接口、分享接口進行單接口逐步增壓並發測試(1--50--200--400--800),獲取wetest測試報告
- 對登錄接口、排行榜頁面查詢接口、分享接口按照1:2:2的比例進行逐步增壓並發測試(50--200--400),獲取wetest測試報告
- 確定tps最大峰值后,將對應場景進行再次復測,若兩次測試結果無較大差異,則判定當前場景已能反饋服務器能夠支撐的
最大壓力
測試過程中的問題
- 接口文檔存在部分錯誤
- 解決方法:通過頁面操作,在服務器日志中查詢對應接口請求路徑
- 登錄接口依賴動態token進項驗證
- 解決方法:請開發提供萬能token
測試結論
- 登錄接口消耗性能嚴重
- 最大tps值為:2300
- 硬件瓶頸主要在於:網絡帶寬,內存、CPU、硬盤達到百分之40占用情況,網絡帶寬占用已達百分百
- 軟件瓶頸主要在於:大量用戶登錄時,服務器需要請求另一台數據庫服務器進行查詢,數據庫服務器性能較低,
導致請求接口存在一定比例的超時
