效能測試(一)

2021-09-24 14:58:18 字數 1870 閱讀 5949

前言

效能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。

效能測試有幾種?
1.負載均衡

2.壓力測試

3.容量測試

4.穩定測試

5.併發測試

6.基準測試

效能指標有哪些
1.後台服務介面呼叫者關心:吞吐量,響應時間,等外部指標。

2.後台服務者關心:cpu,記憶體,負載,網路,io,外部指標。

外部指標

內部指標

1.cpu:後台服務的所有指令和資料處理都是由cpu負責,對cpu的利用率對服務的效能起著決定性的作用。

吞吐量

響應時間(rt)

響應時間是指系統對請求作出響應的時間。

直觀上看,這個指標與人對軟體效能的主觀感受是非常一致的,因為它完整地記錄了整個計算機系統處理請求的時間。

由於乙個系統通常會提供許多功能,而不同功能的處理邏輯也千差萬別,因而不同功能的響應時間也不盡相同,甚至同一功能在不同輸入資料的情況下響應時間也不相同。所以,在討論乙個系統的響應時間時,人們通常是指該系統所有功能的平均時間或者所有功能的最大響應時間。

當然,往往也需要對每個或每組功能討論其平均響應時間和最大響應時間。

響應時間的絕對值並不能直接反映軟體的效能的高低,軟體效能的高低實際上取決於使用者對該響應時間的接受程度。

對於乙個遊戲軟體來說,響應時間小於100毫秒應該是不錯的,響應時間在1秒左右可能屬於勉強可以接受,如果響應時間達到3秒就完全難以接受了。

對於編譯系統來說,完整編譯乙個較大規模軟體的源**可能需要幾十分鐘甚至更長時間,但這些響應時間對於使用者來說都是可以接受的。

併發使用者數

qps每秒查詢率(query per second)

每秒查詢率qps是對乙個特定的查詢伺服器在規定時間內所處理流量多少的衡量標準,在網際網路上,作為網域名稱系統伺服器的機器的效能經常用每秒查詢率來衡量。

對應fetches/sec,即每秒的響應請求數,也即是最大吞吐能力。 (看來是類似於tps,只是應用於特定場景的吞吐量)

cpu
1.us:使用者態使用的cpu時間百分比

2.sy:系統態使用的cpu時間百分比

3.ni:用做nice加權的程序分配的使用者態cpu時間百分比

4.id:空閒的cpu時間百分比

5.wa:cpu等待io完成時間百分比

6.hi:硬中斷消耗時間百分比

7.si:軟中斷消耗時間百分比

常見效能瓶頸
1.吞吐量到上限時系統負載未到閾值:一般是被測服務分配的系統資源過少導致的。測試過程中如果發現此類情況,可以從ulimit、系統開啟的執行緒數、分配的記憶體等維度定位問題原因

2.cpu的us和sy不高,但wa很高:如果被測服務是磁碟io密集型型服務,wa高屬於正常現象。但如果不是此類服務,最可能導致wa高的原因有兩個,一是服務對磁碟讀寫的業務邏輯有問題,讀寫頻率過高,寫入資料量過大,如不合理的資料載入策略、log過多等,都有可能導致這種問題。二是伺服器記憶體不足,服務在swap分割槽不停的換入換出。

3.同一請求的響應時間忽大忽小:在正常吞吐量下發生此問題,可能的原因有兩方面,一是服務對資源的加鎖邏輯有問題,導致處理某些請求過程中花了大量的時間等待資源解鎖;二是linux本身分配給服務的資源有限,某些請求需要等待其他請求釋放資源後才能繼續執行。

4.記憶體持續**:在吞吐量固定的前提下,如果記憶體持續**,那麼很有可能是被測服務存在明顯的記憶體洩漏,需要使用valgrind等記憶體檢查工具進行定位。

效能測試(一)

1.效能測試通常採用先單場景,後混合場景的執行方法。1.結果概要,如,專案資訊 場景名 執行時間 事務數 錯誤概率。可按 結果名 進行查詢和切換 2.效能指標,如 tps rt 單位為ms 3.伺服器指標,如 cpu使用率 load 磁碟使用 伺服器記憶體 單位為kb 磁碟io 4.jvm指標,如 ...

效能測試(一)效能測試的內容

效能測試的型別與劃分網上已經有了很多的定義,比如壓力測試,負載測試,容量測試這三個詞在網上能找到很多版本的定義,大家能夠大體理解就行了,以下內容也只是我個人按照我在實際工作中接觸到的來理解的 1 壓力測試 是在被測系統上不斷增加壓力,知道效能指標超過預定指標。2 負載測試 是指在被測系統上在一定飽和...

效能測試術語(一)

效能測試術語 一 效能測試是通過自動化的測試工具模擬多種正常 峰值以及異常負載條件來對系統的各項效能指標進行測試。效能測試的目的是驗證軟體系統是否能夠達到效能指標,同時發現效能瓶頸,以優化軟體,最後起到優化系統的目的。效能測試包括以下幾個方面 以下效能測試關注的指標術語 事務 transaction...