Jmeter性能測試系列——性能測試工作實施(指標分析與定義)(三)
圖2消費者訪問電商平臺時間段分布

通過上圖分析,業(yè)務峰值幾乎在15點-17點及21點-23點左右,業(yè)務峰值期持續(xù)2個小時左右,若要測試穩(wěn)定性,則需根據(jù)實際業(yè)務情況模擬用戶應用場景。
確定性能測試評估的時間段后,需確定在該時間段內需完成的業(yè)務量,這就需要統(tǒng)計有多少人在這個時間段使用ECShop電商系統(tǒng)。統(tǒng)計這個數(shù)據(jù)比較難,因為各個公司運營規(guī)模不一樣。這種情況下,測試工程師需根據(jù)產品團隊的業(yè)務規(guī)劃、產品設計給出一個參考值,比如系統(tǒng)初期設計規(guī)模在單天15萬業(yè)務量,峰值交易5000筆、最高并發(fā)100用戶(如秒殺業(yè)務)等。通過對預設業(yè)務目標的分析,可得出以下幾個數(shù)據(jù):
· (1) 峰值時間段2個小時;
· (2) 單天15萬業(yè)務量訪問;
· (3) 峰值交易5000筆;
· (4) 最高并發(fā)100個用戶。
接著分析,滿足上述需求的同時,還需要考慮業(yè)務的響應時間。被測對象的響應時間,作為一個很直觀的用戶體驗數(shù)據(jù),可很好的衡量被測對象是否讓用戶感受好,但感受好并沒有一個量化的指標,只是個相對的概念。
響應時間在業(yè)內一個經(jīng)驗值,采用Apdex聯(lián)盟的建議值:3秒、3秒-12秒,12秒以上。0-3秒的業(yè)務處理響應時間是非常理想的,而3秒-12秒則是普遍可容忍的時間,但超過12秒的響應時間,用戶一般不會接受,可能選擇刷新,甚至放棄操作。
這樣的經(jīng)驗值在實際測試中對確定響應時間有很高的參考價值,當然響應時間還應該根據(jù)業(yè)務類型確定,而不能僅從用戶的感官考慮。本次項目測試采用常規(guī)的5秒為目標,也就是說ECShop平臺處理登陸、商品隨機瀏覽購買等業(yè)務的服務器響應時間均不超過5秒。
單天15萬業(yè)務量,表明在一天時間內總的業(yè)務量為15萬,但未明確是哪些業(yè)務的數(shù)據(jù)量疊加,還是每項業(yè)務都是此要求。此處假定單項業(yè)務每天有15萬的數(shù)據(jù)量。
從圖2得知,用戶訪問并非是均分在24個小時內,因此,在沒有歷史數(shù)據(jù)可依據(jù)的情況下,利用經(jīng)濟學中的“二八原則”進行分析,80%的業(yè)務量集中在20%的時間段內。單天峰值時間段共有2個:15點-17點,21點-23點,可得如下業(yè)務量分解數(shù)據(jù):

15萬*80%=12萬
24個小時*20%=4.8小時
4小時/4.8小時=83%
以15點-17點,21點-23點為總考察時間段,則期望業(yè)務量值為:
12萬*83%=9.96萬
以15點-17點為測試考察段,則期望業(yè)務量值為:
12萬*(2小時/4.8小時)=5萬
通過上述分析,需測試ECShop平臺在2小時內支持5萬用戶登陸及商品隨機瀏覽購買。
除了軟件性能要求外,還應該對硬件資源進行監(jiān)控,比如服務器CPU使用率、內存使用率、網(wǎng)絡帶寬等。如果用戶需求、項目組或其他利益相關方未提出性能指標要求,則可按照行業(yè)經(jīng)驗,CPU使用率不超過80%、內存使用率不超過80%、網(wǎng)絡帶寬占用不超過50%等。CPU使用率超過80%表明CPU應用繁忙,如果持續(xù)維持在90%甚至更高,很可能導致機器響應慢、死機等問題。當然,過低也不好,說明CPU比較空閑,可能存在資源浪費的問題。對于內存存在同樣的問題。當然,80%只是一個經(jīng)驗值,最終的性能測試指標需經(jīng)過評審才能最終確定。
通過上述業(yè)務數(shù)據(jù)分析,最終得到本次測試的性能需求指標如表3所示:

表 3 ECShop平臺性能需求指標
測試項響應時間業(yè)務成功率業(yè)務量并發(fā)測試CPU使用率內存使用率登陸<=5秒100%2小時5萬次100<=80%<=80%隨機購買商品<=5秒100%2小時5萬次100<=80%<=80%
得出本次測試的性能參考指標后,測試工程師即可進行性能測試模型的建立。

