qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

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

          近日,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可以幫助開發者通過分布式并發壓力測試,模擬指定區域和指定數量的用戶同時訪問,提前預知網站承載力。這就是云計算給我們帶來的便利。

          posted on 2014-11-10 10:01 順其自然EVO 閱讀(938) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄性能測試

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 子洲县| 许昌县| 双牌县| 新沂市| 太仓市| 三台县| 承德市| 新民市| 侯马市| 怀来县| 漳州市| 林西县| 哈巴河县| 丽江市| 绵竹市| 文山县| 弥勒县| 望谟县| 永修县| 北安市| 鲁甸县| 日照市| 新竹县| 金堂县| 宁城县| 晋宁县| 富阳市| 改则县| 阿拉善左旗| 北京市| 安化县| 姚安县| 恭城| 四会市| 永登县| 保定市| 长汀县| 青神县| 五华县| 临朐县| 凤阳县|