發布時間:2020-07-13
在談起并發這個概念之前,我們先來說說壓力,對系統而言,性能問題歸根到底,都會體現為實實在在的壓力。因此,我們一般說的“你這個系統的性能最高能到多少?”,其內在含義指的就是“系統所能承受的最大壓力是多少”。
系統的壓力是什么呢?壓力是對被測系統而言的,只要系統在處理事務,就有壓力,這種壓力不僅僅體現在網絡上(數據的吞吐),還體現在服務器上(如CPU、內存等),因此,我們不要混淆了吞吐量與壓力的關系,應該這么說,在一些web系統上,吞吐量可以在一定程度上反映系統承受的數據壓力。
另外,我們需要清楚,壓力不等于性能,壓力只是檢驗性能的一種手段,對一個性能良好的系統,在一定的壓力下,應該可以保持正常運轉,如果超過負荷,則應該分流或化解壓力,這也是我們需要檢驗的。
性能測試中怎么設置并發數,怎么合理選擇并發數?
并發用戶:指的是現實系統中同時操作業務的用戶,在性能測試工具中一般稱為虛擬用戶(Virutal User)。并發用戶跟注冊用戶、在線用戶有很大差別,并發用戶一定會對服務器產生壓力,在線用戶數只是 ”掛” 在系統上對服務器不產生壓力,注冊用戶一般指的是數據庫中存在的用戶。
TPS:Transaction Per Second, 每秒事務數, 是衡量系統性能的一個重要指標,事務靠虛擬用戶產生,假如1個虛擬用戶在1秒內完成1筆事務,那么TPS就是1,要想達到1000TPS至少需要1000個用戶;如果某筆業務響應時間是1毫秒,那么1個用戶在1秒內能完成1000筆事務,TPS就是1000。因此1個用戶可以產生1000TPS,1000個用戶也可以產生1000TPS,主要看響應時間的快慢。
對于并發用戶數的選擇,可以選取線上系統在高峰時刻一定周期內使用系統的人數,這些人數可以認為是在線用戶數,并發用戶數取其10%就可以了。例如在1小時內使用系統的用戶數為10000,那么取10%作為并發用戶數基本就夠了。
對于TPS的評估,可以通過線上系統在高峰時刻10分鐘內完成的業務量在單位時間的處理筆數計算出TPS ,即業務筆數 /單位時間(10*60 )。
對于新上線系統因沒有歷史數據可供參考,故只能通過業務發展趨勢來預判各項指標。
性能測試需要一套標準化流程及測試策略,在進行壓測時一般會按照梯度施壓的方式增加用戶數,以此觀察系統在不同壓力下的各種反應,如果在沒有充分評估的前提下一次加壓大量用戶會導致系統失敗率高響應時間長,最終得到的測試結果沒有太大意義。
一般情況下,大型系統(業務量大、機器多)做性能測試 5000 個并發用戶就夠了,中小型系統做性能測試 1000 個并發用戶就足夠了。
推薦閱讀:
您的信息已成功提交!
我們的客服人員稍后會與您聯系