1. 程式人生 > 其它 >效能測試常見術語淺析

效能測試常見術語淺析

負載

對被測系統不斷施加壓力,直到效能指標超過預期或某項資源使用達到飽和,以驗證系統的處理極限,為系統性能調優提供依據;

併發

①狹義上的併發:所有使用者在同一時間點進行同樣的操作,一般指同一型別的業務場景,比如1000個使用者同時登陸系統;

②廣義上的併發:多個使用者與系統發生了互動,這些業務場景可以是相同的也可以是不同的,交叉請求和處理較多;

壓力

系統在一定飽和狀態下,例如CPU、記憶體等飽和情況下,系統能夠處理的會話能力,以及系統是否會出現錯誤

特點:主要目的是檢查系統處於壓力情況下應用的效能表現,重點在於有無出錯資訊產生,系統對應用的響應時間等

事務

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

吞吐量

指在一次效能測試過程中網路上傳輸的資料量的總和,也可以這樣說在單次業務中,客戶端與伺服器端進行的資料互動總量;

對互動式應用來說,吞吐量指標反映伺服器承受的壓力,容量規劃的測試中,吞吐量是重點關注的指標,它能夠說明系統級別的負載能力,另外,在效能調優過程中,吞吐量指標也有重要的價值;

吞吐量和負載之間的關係

①上升階段:吞吐量隨著負載的增加而增加,吞吐量和負載成正比;

②平穩階段:吞吐量隨著負載的增加而保持穩定,無太大變化或波動;

③下降階段:吞吐量隨著負載的增加而下降,吞吐量和負載成反比;

總結:吞吐量幹不過負載!!!

如下圖所示:

a1面積越大,說明系統的效能能力越強,a2面積越大,說明系統穩定性越好,a3面積越大,說明系統的容錯能力越好(嘖嘖,圖有點醜。。。)

吞吐率

吞吐量/傳輸時間,即單位時間內網路上傳輸的資料量,也可以指單位時間內處理客戶請求數量,它是衡量網路效能的重要指標。

通常情況下,吞吐率用“位元組數/秒”來衡量,當然,也可以用“請求數/秒”和“頁面數/秒”來衡量;

TPS

Transaction Per Second:每秒事務數,指伺服器在單位時間內(秒)可以處理的事務數量,一般以request/second為單位;

PS:看到很多部落格或效能測試人員將QPS和TPS混為一談,個人認為,他們是以測試結果的統計得到該結論的;

QPS是查詢,而TPS是事務,事務是查詢的入口,也包含其他型別的業務場景,因此QPS應該是TPS的子集

QPS

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

PS:TPS和QPS都是衡量系統處理能力的重要指標,一般和併發結合起來判斷系統的處理能力;

PV

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

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

RT/ART

Response Time/average Response Time:響應時間/平均響應時間,指一個事務花費多長時間完成;

一般來說,效能測試中平均響應時間更有代表意義。細分的話,還有最小最大響應時間,50%、90%使用者響應時間等;

Thinking Time

思考時間,在效能測試中,模擬使用者的真實操作場景。使用者操作的事務與事務之間是有一定間隔的,引入這個概念是為了併發測試(有交叉業務場景)時,業務場景比率更符合真實業務場景;

連線池

連線池是一個程序,多個連線在一個程序中儲存、管理,它是共享、可複用的;

當客戶端發起請求,先檢查是否有閒置連線,如果有,則分配該連線給其使用;如果沒有,則請求進入等待佇列(等待空閒連線分配,這個取決於排程配置)或新建一個連線物件供其使用

(取決於連線池有多少連線以及允許的最大連線數);

每次客戶端發起請求,如果都新建連線,會消耗很多的資源,連線池的存在及其特性,減少了連線的建立所消耗的資源以及節省了很多連線建立時間,給系統提供了更好的伸縮性,也有助於

伺服器效能的提升。

關於連線池中執行緒的狀態,可參考此篇部落格:https://my.oschina.net/cctester/blog/991744

標準方差

各資料偏離平均數的距離(離均差)的平均數,它能反應一個數據集的離散程度。離散程度越大,資料越不可靠;

效能測試中引入這個術語,是為了對高峰期、平緩期的系統響應時間分佈,不同業務場景的響應時間分佈,以及I/o數在時間段上的分佈等情況進行分析,以判斷系統的穩定性。

資源使用率

如下圖所示,資源指標與硬體資源消耗直接相關,而系統指標則與使用者場景及需求直接相關:

資源指標:

CPU使用率:指使用者程序與系統程序消耗的CPU時間百分比,長時間情況下,一般可接受上限不超過85%;

記憶體利用率:記憶體利用率=(1-空閒記憶體/總記憶體大小)*100%,一般至少有10%可用記憶體,記憶體使用率可接受上限為85%;

磁碟I/O:磁碟主要用於存取資料,因此當說到IO操作的時候,就會存在兩種相對應的操作,存資料的時候對應的是寫IO操作,取資料的時候對應的是是讀IO操作,一般使用% Disk Time(磁碟用於讀寫操作所佔用的時間百分比)度量磁碟讀寫效能;

網路頻寬:一般使用計數器Bytes Total/sec來度量,其表示為傳送和接收位元組的速率,包括幀字元在內;判斷網路連線速度是否是瓶頸,可以用該計數器的值和目前網路的頻寬比較;

系統指標:

併發使用者數:單位時間內與系統發生互動的使用者數;

線上使用者數:某段時間內訪問系統的使用者數,這些使用者並不一定同時向系統提交請求;

平均響應時間:系統處理事務的響應時間的平均值;事務的響應時間是從客戶端提交訪問請求到客戶端接收到伺服器響應所消耗的時間;

事務成功率:效能測試中,定義事務用於度量一個或者多個業務流程的效能指標,如使用者登入、儲存訂單、提交訂單操作均可定義為事務,單位時間內系統可以成功完成多少個定義的事務,在一定程度上反應了系統的處理能力,一般以事務成功率來度量;

超時錯誤率:主要指事務由於超時或系統內部其它錯誤導致失敗佔總事務的比率;

轉載:https://www.cnblogs.com/imyalost/p/7117320.html