本文介紹如何根據您當前系統的壓測需求設定目標虛擬使用者或者目標RPS。
背景資訊
虛擬使用者
指的是現實系統中同時操作業務的使用者,在效能測試工具中一般稱為虛擬使用者(Virtual User)。虛擬使用者這個概念一般是從客戶側評估的角度出發,但是不便於服務端的一些容量評估和高可用評估。
虛擬使用者與註冊使用者、線上使用者不同。註冊使用者一般指的是資料庫中存在的使用者。線上使用者只是“掛”在系統上,對伺服器不產生壓力。但虛擬使用者一定會對伺服器產生壓力。
TPS
Transaction Per Second,每秒事務數,是衡量系統效能的一個重要指標。在PTS中,為了直接評估TPS,也可以採用RPS(Request Per Second,每秒請求數)設定壓測流量的大小。RPS模式更適合容量規劃和作為限流管控的參考依據。
樣本
假如1個虛擬使用者在1秒內完成1個事務,那麼TPS就是1。要想達到1000 TPS至少需要1000個使用者。如果某個業務的回應時間是1毫秒,那麼1個使用者在1秒內能完成1000個事務,TPS也是1000。
因此,一個使用者可以產生1000 TPS,1000個使用者也可以產生1000 TPS,主要取決於回應時間的快慢。
設定目標虛擬使用者和TPS
評估虛擬使用者數
線上系統:
線上上系統的高峰時刻,選取一定周期內使用系統的人數,這些人數可以認為是線上使用者數。而虛擬使用者數則取線上使用者數的10%。例如,在1小時內使用系統的使用者數為10000,則建議取1000作為虛擬使用者數。
未上線系統或新上線系統:
由於沒有歷史資料可供參考,因此只能通過業務發展趨勢來預判各項指標。
評估TPS(RPS)
線上系統:
已有系統:可選取高峰時刻,在一定時間內(如3分鐘~10分鐘),擷取系統總業務量,計算單位時間(秒)內完成的筆數,乘以2~5倍作為峰值的TPS,例如峰值3分鐘內處理訂單18萬筆,平均TPS是1000,峰值TPS可以是2000~5000。
新系統:沒有歷史資料作為參考,建議通過業務部門進行評估。
未上線系統或新上線系統:
由於沒有歷史資料可供參考,因此只能通過業務發展趨勢來預判各項指標。