效能測試中如何確定併發使用者數
效能測試中如何確定併發使用者數
近日,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 效能測試中如何確定TPS和併發數
- Jmeter效能測試:高併發分散式效能測試JMeter分散式
- 想要購買效能測試工具,如何計算自己需要多少併發使用者?
- 「數倉面試」如何確定主題域?面試
- IQMath定點數運算庫效能測試
- 介面效能測試 —— Jmeter併發與持續性壓測JMeter
- Python_服務端效能高併發測試Python服務端
- jmeter介面效能測試-高併發分散式部署JMeter分散式
- Jmeter模板化引數併發測試JMeter
- 十三、確定測試資源
- 如何正確定義效能瓶頸
- 關於壓力測試中 TPS 和併發數的思考
- 使用 jMeter 對 SAP Spartacus 進行併發效能測試JMeter
- 如何使用jMeter對某個OData服務進行高併發效能測試JMeter
- 軟體效能測試指標引數怎麼擬定指標
- C#中HttpWebRequest發起HTTP請求,如何設定才能達到最大併發和效能C#HTTPWeb
- 測試開發之效能篇-效能測試設計
- 在遊戲陪玩系統開發中,如何進行效能測試?遊戲
- 介面測試,負載測試,併發測試,壓力測試區別負載
- 測試開發之效能篇-JMeter介面測試JMeter
- 如何測試伺服器效能?伺服器
- 關於SignalR併發量測試SignalR
- Java高併發測試框架JCStressJava框架
- 效能測試中唯一標識的 JMH 測試
- 使用jMeter構造大量併發HTTP請求進行微服務效能測試JMeterHTTP微服務
- 效能測試學習筆記:Loadrunner如何進行引數化?筆記
- 今天寫了一個可以測試併發數和執行次數的壓力測試程式碼。(Java)Java
- boomer 基於 gRPC 壓測併發方案及效能測評OOMRPC
- 在Linux中,如何進行系統效能的峰值測試?Linux
- 在Linux中,如何進行網路效能的峰值測試?Linux
- 基於目標TPS的效能測試,如何通過手動設定場景進行測試?
- 介面測試如何在 json 中引用 mock 變數JSONMock變數
- 介面測試如何在json中引用mock變數JSONMock變數
- 和朱曄一起復習Java併發(三):鎖(含鎖效能測試)Java
- 效能測試
- 淺談如何確定伺服器的數量伺服器
- python+selenium grid 併發執行測試用例,不能併發Python
- grequests 執行併發測試與 jmeter 併發結果對比JMeter