效能測試中如何確定併發使用者數

有頭髮的程式猿發表於2023-05-19
效能測試中如何確定併發使用者數
近日,Hitest在其技術部落格上發表了一篇題為 《併發使用者數與TPS之間的關係》的文章,文章對TPS和併發使用者數做了詳細的解釋,並針對效能測試中系統效能的衡量維度和測試策略給出了自己的建議。Hitest是阿里巴巴技術質量部提供的一款Web&移動應用安全測試SaaS化服務平臺,旨在幫助開發者簡單快捷地進行安全測試。

在文中,作者首先對併發使用者數和TPS做了解釋:

併發使用者數:是指現實系統中操作業務的使用者,在效能測試工具中,一般稱為虛擬使用者數(Virutal User)。併發使用者數和註冊使用者數、線上使用者數的概念不同,併發使用者數一定會對伺服器產生壓力的,而線上使用者數只是 ”掛” 在系統上,對伺服器不產生壓力,註冊使用者數一般指的是資料庫中存在的使用者數。

TPS:Transaction Per Second, 每秒事務數, 是衡量系統效能的一個非常重要的指標。

作者認為現在很多從業人員在做效能測試時,都錯誤的認為系統能支撐的併發使用者數越多,系統的效能就越好。要理解這個問題,首先需要了解TPS和併發使用者數之間的關係:

TPS就是每秒事務數,但是事務是基於虛擬使用者數的,假如1個虛擬使用者在1秒內完成1筆事務,那麼TPS明顯就是1;如果某筆業務響應時間是 1ms,那麼1個使用者在1秒內能完成1000筆事務,TPS就是1000了;如果某筆業務響應時間是1s,那麼1個使用者在1秒內只能完成1筆事務,要想達 到1000TPS,至少需要1000個使用者;因此可以說1個使用者可以產生1000TPS,1000個使用者也可以產生1000TPS,無非是看響應時間快 慢。

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

作者最後做了綜述,他認為在效能測試時並不需要用上萬的使用者併發去進行測試,如果只需要保證系統處理業務時間足夠快,幾百個使用者甚至幾十個使用者就可 以達到目的。據他了解,很多專家做過的效能測試專案基本都沒有超過5000使用者併發。因此對於大型系統、業務量非常高、硬體配置足夠多的情況下,5000 使用者併發就足夠了;對於中小型系統,1000使用者併發就足夠了。

效能測試需要一套標準化流程及測試策略,在實際測試時我們還需要考慮其它方面的問題,比如如何模擬成千上萬來自不同地區使用者的訪問場景、如何選用合適的測試軟體。效能測試對一些小的團隊來說並非易事,不過前段時間阿里雲釋出了效能測試服務 PTS,PTS可以幫助開發者透過分散式併發壓力測試,模擬指定區域和指定數量的使用者同時訪問,提前預知網站承載力。這就是雲端計算給我們帶來的便利。

在10月16日舉行的 阿里雲開發者大會上,PTS團隊將會參與分享《護航世界盃—阿里技術保障體系分享》,敬請關注。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026917/viewspace-2953400/,如需轉載,請註明出處,否則將追究法律責任。

相關文章