性能測試中如何確定併發用戶數

QQ羣522720170

微信訂閱號見文末二維碼

荔枝FM手機客戶端搜索“挨踢脫口秀”訂閱即可

視頻彙總首頁:http://edu.51cto.com/lecturer/index/user_id-4626073.html

======================================


近日,Hitest在其技術博客上發表了一篇題爲《併發用戶數與TPS之間的關係》的文章,文章對TPS和併發用戶數做了詳細的解釋,並針對性能測試中系統性能的衡量維度和測試策略給出了自己的建議。


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

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


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


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


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


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


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


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

QQ截圖20171031083313.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章