效能測試學習(1)-效能測試分類與常見術語

Holidayzz發表於2020-10-13

1. 效能測試型別劃分

效能測試型別解釋目的
負載測試對被測系統不斷增加壓力(即使用者併發數),直至效能指標超過預期
或者某項資源使用達到飽和狀態(就是加壓到系統崩潰)。重點觀察
系統正常執行的最大值時候的一些資料和資源使用。觀察程式、網路、伺服器、還是資料庫等哪個方面存在瓶頸。
發現系統處理能力的極限。
找出問題所在,做這個就是
為了發現系統是否還有隱藏
的能力。用來改進調優。
壓力測試系統在一定飽和狀態下,例如cpu、記憶體、磁碟I/O在飽和使用情況下
,系統的處理能力,以及系統是否會出現錯誤
該方法通過增加壓力,使系
統資源使用保持在較高的壓
力下,檢驗此時應用的表現,
重點在於有誤出錯資訊產生,
系統對應用的響應時間等。
效能測試根據模擬生產執行的業務壓力量和使用場景組合,測試系統的效能是
否滿足生產效能要求。也可以說是在特定的執行條件下驗證系統的能
力狀態。比如做100個併發,持續10分鐘等。檢視平均響應時間和
TPS是否滿足生產的指標或者是設計的指標。
驗證系統是否達到了設計要
求和是否可以滿足需求。需
要將環境確認不變更。做之
前需要了解業務流程,最重
要是做之前先確定好目標即
指標要求。
基準測試用於敏捷開發中,通過每次迭代效能變化判斷是否達到預期目標。直觀反映每次迭代的效能變
化,可作為驗收測試的一部分。
併發測試模擬多使用者併發訪問同一個應用、模組或者資料記錄時可能發生的
效能問題(如記憶體洩漏、執行緒鎖和資源爭用方面的問題)
配置測試通過對被測系統軟硬體環境的調整,瞭解各種不同環境對系統效能
影響的程度,從而找到系統各項資源的最優分配原則。
(tomcat配置、apache配置、Nginx配置、連線池配置、JVM配置等)
瞭解各種不同因素對系統系
能影響的程度,從而判斷出
最值得進行的調優操作。
穩定性測試給系統施加一定壓力,持續執行一段時間(7*24),觀察系統能
否穩定執行。(也可以說是長時間的壓力測試)
失效恢復測試穩定性測試是如果系統發生故障,系統能否繼續使用。測試系統的容錯能力以及
故障恢復能力(一般使用負載均衡、限流降級等技術)


2. 效能測試的流程

效能測試流程



3. 效能測試常見術語

  • 事務

    效能測試中,事務指的是從端到端,一個完整的操作過程,比如一次登入、一次篩選條件查詢,一次支付等;

  • 吞吐量

    在效能測試過程中,吞吐量是指單位時間內伺服器處理客戶請求的數量,吞吐量通常使用請求數/秒來衡量,直接體現伺服器的承載能力。

    吞吐量作為效能測試過程中主要的指標之一,它與虛擬使用者數之間存在一定的聯絡,當系統沒有遇到效能瓶頸時,可以採用下面這個公式來計算:吞吐量=虛擬使用者數*每個虛擬使用者發出請求數量/效能測試消耗時間。

    當系統遇到系統瓶頸公式不再適用。吞吐量與虛擬使用者數的關係如圖所示,吞吐量在虛擬使用者數量增長到一定值時,軟體系統出現效能瓶頸,此時吞吐量的值並不再隨著虛擬使用者數量的增加而增大,而是趨於平衡。

    吞吐量與虛擬使用者數的關係

    但在實際測試過程中,測試前吞吐量是不知道的,必須通過不斷新增虛擬使用者來不斷地測試,才能找到吞吐量的拐點,即伺服器實際吞吐量的值。

  • 吞吐率

    吞吐率(Throughout)是指單位時間內從伺服器返回的位元組數,也可以指單位時間內伺服器處理客戶提交的請求數。它是衡量網路效能的一個重要指標。吞吐率=吞吐量/測試時間,通常情況下吞吐量的值越大,吞吐率的值也越大,那麼系統的負載能力越強。

    TPS(Transaction Per Second),它是衡量系統處理能力的重要指標。

  • TPS

    Transaction Per Second,表示伺服器每秒處理的事務數。在沒有遇到效能瓶頸時:TPS=併發使用者數*事務數/響應時間

  • QPS
    Query Per Second,每秒查詢率,指伺服器在單位時間內(秒)處理的查詢請求速率

  • PV

    Page View,頁面瀏覽量,通常是衡量一個頁面甚至網站流量的重要指標;

    細分的話,有獨立訪問者數量、重複訪問者數量、單獨頁面訪問數量、使用者停留時間等型別;

  • 併發使用者數

    同一時刻與伺服器進行資料互動的所有使用者數量。

    概念中有兩點需要注意。第一:併發強調所有的使用者必須在同一時刻對伺服器進行施壓。第二:強調要與伺服器進行資料互動,如果未和伺服器進行資料互動,這樣使用者是沒給伺服器帶來壓力的。

  • 點選率

    點選率(*Hit Per Second)*是指每秒鐘使用者向伺服器提交的HTTP 數量。使用者每點選一次,伺服器端就要對使用者提交的請求進行一次處理,從事務的角度來說,如果把每次點選作為提交事務來對待,那麼點選率與TPS 的概念是等同的。

  • 思考時間

    思考時間(Think Time)也稱為“休眠時間”,是指使用者在進行操作時,每個請求之間的時間間隔。

  • 響應時間

    使用者從客戶端傳送請求到所有的請求都從伺服器返回客戶所經歷的時間。

相關文章