天天看點

性能測試流程、優化、名額

性能測試流程、優化、名額

目錄

  • 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、事務成功率,逾時錯誤率