並發用戶 VS TPS


TPS模式(吞吐量模式)是一種更好的方式衡量服務端系統的能力。

基本概念:

並發用戶數:簡稱VU ,指的是現實系統中操作業務的用戶,在性能測試工具中,一般稱為虛擬用戶數(Virutal User),注意並發用戶數跟注冊用戶數、在線用戶數有很大差別的,並發用戶數一定會對服務器產生壓力的,而在線用戶數只是 ”掛” 在系統上,對服務器不產生壓力,注冊用戶數一般指的是數據庫中存在的用戶數。
處理能力: 簡稱TPS, 每秒事務數, 是衡量系統性能的一個非常重要的指標。
響應時間:簡稱RT,指的是業務從客戶端發起到客戶端接受的時間。

VU與TPS換算:

假如1個虛擬用戶在1秒內完成1筆事務,那么TPS明顯就是1;如果某筆業務響應時間是1ms,那么1個用戶在1秒內能完成1000筆事務,TPS就是1000了;如果某筆業務響應時間是1s,那么1個用戶在1秒內只能完成1筆事務,要想達到1000TPS,至少需要1000個用戶;因此可以說1個用戶可以產生1000TPS,1000個用戶也可以產生1000TPS,無非是看響應時間快慢。比如 1000 並發,RT 平均從 1 秒變長到 2 秒,那么 TPS 也從 1000 下降到了 500。

獲取VU:

新系統:沒有歷史數據作參考,只能通過業務部門進行評估。

舊系統:對於已經上線的系統,可以選取高峰時刻,在一定時間內使用系統的人數,這些人數認為屬於在線用戶數,並發用戶數取10%就可以了,例如在半個小時內,使用系統的用戶數為10000,那么取10%作為並發用戶數基本就夠了。

獲取TPS:

新系統:沒有歷史數據作參考,只能通過業務部門進行評估。

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

衡量服務端性能:

服務器端的性能,以TPS為主來衡量系統的性能,並發用戶數為輔來衡量系統的性能,在系統負載不高的情況下,將思考時間(思考時間的值等於交易響應時間)加到串聯鏈路中,並發用戶數基本可以增加一倍,因此用並發用戶數來衡量系統的性能沒太大的意義。如果系統間的吞吐能力差別很大,那么同樣的並發下TPS差距也會很大。

性能測試策略:

用TPS模式(吞吐量模式)+設置起始和目標最大量級,然后根據系統表現靈活的手工實時調速。

TPS 模式以吞吐量作為目標,比如 1000 TPS 表示一秒內發出 1000 個請求,TPS 模式下的虛擬用戶數 = TPS x RT(秒)。例如用戶設置 TPS 為 100,而被壓接口的 RT 為 0.1 秒,此時並發量為 10;若被壓接口 RT 為 2 秒,則並發量為 200。當被壓測的服務異常時,會出現大量的 RT 變高甚至是請求失敗超時,這個時候並發會越來越高而且在 API 的超時時間內累積,此時需要及時停止壓測。

總結:

系統的性能由TPS決定,跟並發用戶數沒有多大關系。
系統的最大TPS是一定的(在一個范圍內),但並發用戶數不一定,可以調整。
建議性能測試的時候,不要設置過長的思考時間,以最壞的情況下對服務器施壓。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM