前言
壓測的時候,我們會經常關注2個重要的指標 TPS 和 RT
- TPS 每秒處理的事務數(Transactions per Second),jmeter的Throughput為吞吐量(請求數/秒)
- RT 響應時間(Reponse Time),從發起請求到完全接收到應答的時間消耗。
每秒處理的事務數(Transactions per Second)
前面介紹了監聽器每秒事務數(Transactions per Second),可以查看前面的這篇https://www.cnblogs.com/yoyoketang/p/14181902.html
先了解下什么是TPS ?
TPS:每秒處理的事務數,jmeter的Throughput為吞吐率(請求數/秒)
宏觀上:TPS=並發數/響應時間,jmeter的Throughput = (number of requests) / (total time)
很多小伙伴會死記硬背公式來推算TPS值,這里涉及到一個概念並發數,這個並發數是指單位時間內發出去的請求數。
這里的單位時間並不是1秒,是一個絕對的同一時間,比如0.0001秒,甚至更小的時間。
那么這里的絕對並發,我們是沒法知道的,我們通常說的並發是一個相對的並發,相對並發,也就是我們線程組里面設置的(線程數)虛擬用戶數,可以這么理解。
我們可以根據聚合報告看到,平均響應時間是94毫秒,吞吐量27.9/sec
通過上面的公式 tps = 線程數3/平均響應時間0.094秒 ,算出的結果是31.9,跟統計的27.9差不多。
也可以這樣理解這個公式,絕對的並發是不存在的,請求發出的時間總有先后,絕對的TPS也是無法計算的,統計的角度看
TPS = 服務器處理請求總數/花費的總時間
我們設置線程組的持續壓測時間為5秒,設置線程數3,於是壓測的結果TPS值是27.5
根據公式TPS = 總請求數139/總時長5秒,得到的結果是27.8,這樣就很接近報告的TPS值了
為了找到服務器的最大TPS值,我們一般設置不同的並發數(線程組)來壓測。
響應時間(Reponse Time)
RT 也就是平均響應時間(Reponse Time), 在聚合報告里面可以看平均值(單位是毫秒),如果我們想查看更詳細的報告,跟着每個時間段的平均響應時間。
添加-監聽器-jp@gc - Response Times Over Time
壓測后,先看聚合報告的平均值92毫秒
再看實時監控的平均響應時間
這種曲線圖,在寫性能報告的時候加上會顯示更專業
原文地址https://www.cnblogs.com/yoyoketang/tag/jmeter/,轉載請注明出處!