並發數、吞吐量的概念最初用來衡量網絡設備的性能,后來推廣到服務器及業務上評估系統的整體性能。
1.並發數
解釋:反映了系統的負載特性。網站並發數指“並發用戶數”。也叫並發連接數,指網絡設備所能處理的最大會話數量。這里的會話數是指請求->響應一次會話。
1) 並發用戶數:同時提交請求的用戶數目。
2) 在線用戶數:當前登錄網站的用戶數目。
3) 系統用戶數:可能訪問系統的總用戶數,對多數網站而言就是注冊用戶數。
三者數量比較關系:系統用戶數>>在線用戶數>>並發用戶數。
測試方法:測試程序多線程模擬並發用戶測試並發處理能力;測試程序並不多線程不停發送請求,而是兩次請求間加隨機等待時間,模擬用戶思考時間。
2.吞吐量
解釋:用戶請求是由一個個數據包組成,網絡設備(防火牆/路由器/交換機)對每個數據包的處理要耗費資源。吞吐量是指在不丟包的情況下單位時間內通過網絡設備的數據包數量。
不同方式表達的吞吐量可以說明不同層次的問題,例如,以字節數/秒方式可以表示數要受網絡基礎設施、服務器架構、應用服務器制約等方面的瓶頸;已請求數/秒的方式表示主要是受應用服務器和應用代碼的制約體現出的瓶頸。
1) 常用量化指標:“請求數/秒”或“頁面數/秒”、“訪問人數/天”或“處理的業務數/小時”、TPS(每秒事務數)、HPS(每秒HTTP請求數)、QPS(每秒查詢數)。
2) 三者關系:並發數由小逐增過程中,服務器資源消耗逐增,吞吐量逐增,響應時間小幅上升;達到吞吐量極限后,並發數增加反而下降,響應時間快速上升;達到系統崩潰點后,系統資源耗盡,吞吐量為零,失去響應
3.網絡層面並發數和吞吐量的關系:
並發數x包長度=吞吐量
可以看出,在網絡層面考察吞吐量,除了並發數,還要考慮請求包的大小(長度)。用於度量網絡設備時候,可以用byte/秒。
幾個相關的概念:TPS、QPS、RPS
TPS:Transactions Per Second(每秒事務處理數),指服務器每秒處理的事務次數。一般用於評估數據庫、交易系統的基准性能。
QPS:Queries Per Second(查詢量/秒),是服務器每秒能夠處理的查詢次數,例如域名服務器、Mysql查詢性能。
RPS:Request Per Second(請求數/秒)
RPS(Request Per Second)和QPS可以認為是一回事。
RT:Response Time(響應時間):客戶端發一個請求開始計時,到客戶端接收到從服務器端返回的響應結果結束所經歷的時間,響應時間由請求發送時間、網絡傳輸時間和服務器處理時間三部分組成。也叫Think Time。
並發數與TPS/QPS的關系:
QPS(TPS)= 並發數/平均響應時間
這里的並發數如果為事務處理請求數,則為TPS,如果為查詢請求數,則為QPS。
4響應時間:對請求作出響應所需要的時間
響應時間=網絡傳輸時間+應用服務器處理時間+數據庫服務器處理時間
5並發用戶數的計算公式
平均並發用戶數的計算:C=nL / T
其中C是平均的並發用戶數,n是平均每天訪問用戶數(login session),L是一天內用戶從登錄到退出的平均時間(login session的平均時間),T是考察時間長度(一天內多長時間有用戶使用系統)
並發用戶數峰值計算:C^約等於C + 3*根號C
其中C^是並發用戶峰值,C是平均並發用戶數,該公式遵循泊松分布理論。
6吞吐量的計算公式
當沒有遇到性能瓶頸的時候,吞吐量與虛擬用戶數之間存在一定的聯系,可以采用以下公式計算:F=VU * R /T
其中F為吞吐量,VU表示虛擬用戶個數,R表示每個虛擬用戶發出的請求數,T表示性能測試所用的時間
7性能計數器
是描述服務器或操作系統性能的一些數據指標,如使用內存數、進程時間,在性能測試中發揮着“監控和分析”的作用,尤其是在分析統統可擴展性、進行新能瓶頸定位時有着非常關鍵的作用。
資源利用率:指系統各種資源的使用情況,如cpu占用率為68%,內存占用率為55%,一般使用“資源實際使用/總的資源可用量”形成資源利用率。
8、思考時間的計算公式
Think Time,從業務角度來看,這個時間指用戶進行操作時每個請求之間的時間間隔,而在做新能測試時,為了模擬這樣的時間間隔,引入了思考時間這個概念,來更加真實的模擬用戶的操作。
在吞吐量這個公式中F=VU * R / T說明吞吐量F是VU數量、每個用戶發出的請求數R和時間T的函數,而其中的R又可以用時間T和用戶思考時間TS來計算:R = T / TS
下面給出一個計算思考時間的一般步驟:
A、首先計算出系統的並發用戶數
C=nL / T F=R×C
B、統計出系統平均的吞吐量
F=VU * R / T R×C = VU * R / T
C、統計出平均每個用戶發出的請求數量
R=u*C*T/VU
D、根據公式計算出思考時間
TS=T/R