併發使用者數與 TPS 之間的關係

2022-07-26 08:00:24 字數 2450 閱讀 6921

在做效能測試的時候,很多人都用併發使用者數來衡量系統的效能,覺得系統能支撐的併發使用者數越多,系統的效能就越好;對tps不是非常理解,也根本不知道它們之間的關係,因此非常有必要進行解釋。

øtpstransaction per second,每秒事務數, 是衡量系統效能的乙個非常重要的指標,

ø簡單例子:在術語中解釋了tps是每秒事務數,但是事務時要靠虛擬使用者做出來的,假如1個虛擬使用者在1秒內完成1筆事務,那麼tps明顯就是1;如果某筆業務響應時間是1ms,那麼1個使用者在1秒內能完成1000筆事務,tps就是1000了;如果某筆業務響應時間是1s,那麼1個使用者在1秒內只能完成1筆事務,要想達到1000tps,至少需要1000個使用者;因此可以說1個使用者可以產生1000tps,1000個使用者也可以產生1000tps,無非是看響應時間快慢。

ø複雜公式:

試想一下複雜場景,多個指令碼,每個指令碼裡面定義了多個事務(例如乙個指令碼裡面有100個請求,我們把這100個連續請求叫做action,只有第10個請求,第20個請求分別定義了事務10和事務20)具體公式如下:

符號代表意義:

vui表示的是第i個指令碼使用的併發使用者數

rtj表示的是第i個指令碼第j個事務花費的時間,此時間會影響整個action時間

rti表示的是第i個指令碼一次完成所有操作的時間,即action時間

n 表示的是第n個指令碼

m 表示的是每個指令碼中m個事務

那麼第j個事務的tps = vui/rti

ø併發使用者數(vu)獲取

øtps獲取

舊系統:對於已經上線的系統,可以選取高峰時刻,在5分鐘或10分鐘內,獲取系統每筆交易的業務量和總業務量,按照單位時間內完成的筆數計算出tps,即業務筆數/單位時間(5*60或10*60)

針對伺服器端的效能,以tps為主來衡量系統的效能,併發使用者數為輔來衡量系統的效能,如果必須要用併發使用者數來衡量的話,需要乙個前提,那就是交易在多長時間內完成,因為在系統負載不高的情況下,將思考時間(思考時間的值等於交易響應時間)加到指令碼中,併發使用者數基本可以增加一倍,因此用併發使用者數來衡量系統的效能沒太大的意義。

通過大量效能測試我們發現不需要用上萬的使用者併發去進行測試,只要系統處理業務時間足夠快,幾百個使用者甚至幾十個使用者就可以達到目的。另外諮詢很多專家做過的效能測試專案,基本都沒有超過5000使用者併發。

因此對於大型系統、業務量非常高、硬體配置足夠多的情況下,5000使用者併發就足夠了;對於中小型系統,1000使用者併發就足夠了。

做效能測試需要一套標準化流程及測試策略,併發使用者數只是指標考慮的乙個,在做負載測試的時候,一般都是按照梯度施壓的方式去加使用者數,而不是在沒有預估的情況下,一次加幾萬個使用者,,交易失敗率非常高,響應時間非常長,已經超過了使用者忍受範圍內,這樣做沒有多大的意義,這就好比「有多少錢可以幹多少事」一樣,需要選擇相關的策略。

從下圖對比項可以看出,pts比loadrunner(lr)更能讓客戶接受。

方向

對比項

loadrunner

pts

備註

基礎設施

被測系統軟硬體環境需要額外購買?

需要不需要

基礎設施軟硬體由阿里雲提供,只需要購買服務

壓力機環境需要額外購買?

需要不需要

基礎設施軟硬體由pts提供,只需要購買服務

費用費用

非常貴便宜,按需收費

商業化工具license非常貴

功能功能

強大較強大

lr很多功能基本上用不到,沒必要大馬拉小車

易用性操作、學習等

困難容易

lr不易上手

穩定性系統穩定性

較穩定非常穩定

lr壓測過程中經常出現莫名其妙錯誤

場景模擬

場景模擬

條件較真實

非常真實

pts分布在全國各地的分布式集群可以真實模擬出現實場景,而lr不太容易模擬,即使可以的話,控制機和壓力機通訊經常掉線

ø  系統的效能由tps決定,跟併發使用者數沒有多大關係。在同樣的tps下,可以由不同的使用者數去壓(通過加思考時間設定)。

ø  系統的最大tps是一定的(在乙個範圍內),但併發使用者數不一定,可以調整。

ø  建議效能測試的時候,不要設定過長的思考時間,以最壞的情況下對伺服器施壓。

ø  一般情況下,大型系統(業務量大、機器多)做壓力測試,5000個使用者併發就夠了,中小型系統做壓力測試,1000個使用者併發就足夠了。

併發使用者數與TPS之間的關係

在做效能測試的時候,很多人都用併發使用者數來衡量系統的效能,覺得系統能支撐的併發使用者數越多,系統的效能就越好 對 tps不是非常理解,也根本不知道它們之間的關係,因此非常有必要進行解釋。併發使用者數 指的是現實系統中操作業務的使用者,在效能測試工具中,一般稱為虛擬使用者數 virutal user...

併發使用者數與 TPS 之間的關係

在做效能測試的時候,很多人都用併發使用者數來衡量系統的效能,覺得系統能支撐的併發使用者數越多,系統的效能就越好 對tps不是非常理解,也根本不知道它們之間的關係,因此非常有必要進行解釋。tps transaction per second,每秒事務數,是衡量系統效能的乙個非常重要的指標,簡單例子 在...

併發使用者數與TPS之間的關係

在做效能測試的時候,很多人都用併發使用者數來衡量系統的效能,覺得系統能支撐的併發使用者數越多,系統的效能就越好 對 tps不是非常理解,也根本不知道它們之間的關係,因此非常有必要進行解釋。併發使用者數 指的是現實系統中操作業務的使用者,在效能測試工具中,一般稱為虛擬使用者數 virutal user...