性能測試流程、優化、名額
目錄
- 1、性能測試的流程
- 2、性能的優化
- 3、性能測試關注的名額
1、性能測試的流程
1、确定性能測試的目标
之前做的壓測性能标準、産品說明書的性能需求部分、營運人員提出的性能名額、通過生産環境換算出的性能名額等
(1)接口響應時間不能超過3秒(每個接口的響應時間)
(2)需要達到的tps為1000(每秒鐘處理的事物數)
(3)伺服器cpu以及記憶體使用率小于75%
2、執行前的準備工作
(1)了解系統架構:所用到的接口伺服器,應用伺服器,緩存伺服器,資料庫伺服器等
(2)測試資料的準備:使用者資料、商品資料、訂單資料等
(3)接口調試:測試單個接口是否正常
(4)壓測工具的選擇與壓測腳本的編寫與調試
3、執行壓測以及監控各項名額
(1)執行壓測腳本:通過在被測系統上不斷增加壓力,直到被測試系統的性能滿足生産性能的要求
(2)系統服務監控:如伺服器,資料庫,cpu,記憶體,資料庫連接配接數,tps, error, 平均值,90%百分位,等是否滿足性能名額要求
搭建監控軟體或平台,可點選
-> 性能監控 <-
合集進行查閱,總有一款适合你
4、性能調優
(1)參與人員:測試、開發、運維、DBA等
(2)基于上一步的監控資料,對性能頻頸進行定位、分析,優化
5、性能回歸測試
(1)再次執行壓測腳本
(2)系統服務監控資料收集
(3)監控資料分析,直到滿足性能名額;如不滿足則再次進行調優,之後性能回歸測試執行
6、編寫測試報告
(1)壓測概要,涉及到的測試工具,各種名額的介紹
(2)壓測伺服器資訊,cpu,記憶體,作業系統,用途
(3)壓測目的,是否達到性能要求
(4)壓測方案,不斷對系統施加壓力,直到滿足性能的要求
(5)壓測結果
注意點:
(1)測試執行時,執行多次,取平均結果更為準确
(2)單機并發不夠時,采用多機分布式并發,多機分布式不夠采用阿裡雲等進行壓測
(3)測試過程,一定要盡可能模拟實際應用場景
2、性能的優化
優化總結(參考)
1、架構的更新(增加reads緩存)
(1)注冊接口:擷取卡号後,暫存緩存伺服器,并進入MQ隊列,MQ隊列取出後,儲存資料庫
(2)查詢接口:原來讀取的mysql資料庫,改成讀取的redis(緩存)
2、開發代碼
(1)代碼的邏輯優化
(2)接口傳回值的優化,删除多餘的傳回字段
3、資料庫
(1)SQL優化(加索引),查詢方式
(2)SQL語句優化
4、硬體配置
(1)增加伺服器、資料庫cpu
(2)橫向擴充增加伺服器
5、伺服器的部署
(1)資源的配置設定:把接口伺服器上部署的應用挪到其他伺服器
(2)根據伺服器提供的服務類型不同,分為檔案伺服器、資料庫伺服器、應用程式伺服器、WEB伺服器等
6、伺服器負載不均衡
(1)由原來的的擇優配置設定機制改成輪詢方式
(2)選擇一台最優的伺服器鏡像拷貝到其他伺服器,保證每台伺服器對應的程式以及部署都是一樣的
7、日志級别
(1)減少了日志量由原來的info改成error(日志級别越低輸出的日志内容就越多,對系統性能影響很大)
(2)異步輸出比同步輸出性能高
3、性能測試關注的名額
1、伺服器、資料庫等,cpu、記憶體的使用率,磁盤I/O,網絡帶寬
2、并發使用者數,線上使用者數,
3、每個接口響應時間,平均響應時間
4、吞吐量:tps
5、事務成功率,逾時錯誤率