圖1響應(yīng)時(shí)間組成示意圖
通過上述兩個(gè)不同視角的描述不難發(fā)現(xiàn),用戶與服務(wù)器所理解的響應(yīng)時(shí)間存在明顯的差異。用戶關(guān)注的是發(fā)出請求至看到響應(yīng)結(jié)果的時(shí)間,而服務(wù)器關(guān)注的是接受請求到返回結(jié)果的時(shí)間,對(duì)于用戶而言,忽略了瀏覽器展示的時(shí)間,對(duì)于服務(wù)器而言,則忽略了瀏覽器展示、網(wǎng)絡(luò)傳輸?shù)葧r(shí)間。因此,在實(shí)際測試過程中,需明確以什么視角驗(yàn)證被測對(duì)象的性能。
大多數(shù)情況下,性能測試主要是以用戶視角進(jìn)行,因此在實(shí)際測試過程中,通常關(guān)注用戶行為,所以,響應(yīng)時(shí)間一般指客戶端發(fā)出請求到接收到服務(wù)器端的響應(yīng)數(shù)據(jù)所消耗的時(shí)間。
需注意的是,性能測試工作中,客戶有時(shí)可能需要測試公網(wǎng)的系統(tǒng)來驗(yàn)證性能指標(biāo),從測試經(jīng)驗(yàn)來看,最好不要嘗試在公網(wǎng)進(jìn)行性能測試,原因有二:
第一、 可能影響現(xiàn)網(wǎng)用戶。實(shí)施性能測試過程中,可能產(chǎn)生大量的壓力與垃圾數(shù)據(jù),從而破壞生產(chǎn)環(huán)境,導(dǎo)致缺陷的產(chǎn)生,影響實(shí)際的業(yè)務(wù)。
第二、 壓力模擬可能無法真實(shí)體現(xiàn)。性能測試工程師實(shí)施性能測試時(shí),利用測試工具,模擬了大量的并發(fā)數(shù),產(chǎn)生了大量的業(yè)務(wù)數(shù)據(jù),但因負(fù)載生成器所在的網(wǎng)絡(luò)與服務(wù)器所在網(wǎng)絡(luò)不同,或者服務(wù)器的網(wǎng)絡(luò)安全設(shè)置,導(dǎo)致壓力數(shù)據(jù)無法達(dá)到被測服務(wù)器,整個(gè)網(wǎng)絡(luò)環(huán)境不可控,從而導(dǎo)致測試失敗。
有一種情況除外,模擬固定帶寬網(wǎng)絡(luò)訪問的場景,可在局域網(wǎng)中使用限制帶寬的手段進(jìn)行測試。遵循一個(gè)原則,測試過程中,任何資源都必須可控。
3、吞吐量
單位時(shí)間內(nèi)系統(tǒng)處理用戶請求的數(shù)量,可以用請求數(shù)/單位時(shí)間或者點(diǎn)擊數(shù)/單位時(shí)間,或者字節(jié)數(shù)/單位時(shí)間等方式來衡量,其中通過字節(jié)數(shù)/單位時(shí)間的計(jì)算方式,與當(dāng)前的網(wǎng)絡(luò)帶寬比較,可以找出網(wǎng)絡(luò)方面的問題。例如,1分鐘內(nèi)系統(tǒng)可以處理1000次轉(zhuǎn)賬交易,則吞吐量為1000/60=16.7。吞吐量指標(biāo)直接體現(xiàn)了軟件系統(tǒng)的業(yè)務(wù)處理能力,尤其適用于系統(tǒng)架構(gòu)選型,做對(duì)比測試。
4、系統(tǒng)資源耗用
系統(tǒng)資源耗用,客戶端與服務(wù)器系統(tǒng)各項(xiàng)硬件資源的耗用情況,如CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)帶寬占用率、磁盤I/O輸入輸出量等。一個(gè)系統(tǒng)的高效運(yùn)行,除了軟件資源外,硬件資源也是不可缺少的部分,因此在性能測試過程中,需關(guān)注系統(tǒng)資源的耗用。
5、業(yè)務(wù)成功率
業(yè)務(wù)成功率意為用戶發(fā)起了多筆業(yè)務(wù)請求,成功的比率有多少。例如,測試銀行營業(yè)系統(tǒng)的并發(fā)處理性能,全北京100個(gè)網(wǎng)點(diǎn),中午12:30到13:30一個(gè)小時(shí)的高峰期里,要求能支持50000筆開戶業(yè)務(wù),其中成功率不少于98%,也就是需要成功開戶49000筆,其他的1000筆可能是超時(shí),或者其他錯(cuò)誤導(dǎo)致未能開戶成功。業(yè)務(wù)成功率展示了在特定壓力或負(fù)載情況下,服務(wù)器正確穩(wěn)定處理業(yè)務(wù)請求的能力。
6、TPS
單位時(shí)間內(nèi)服務(wù)器處理的事務(wù)數(shù),該指標(biāo)值越大越好。一般情況下,用戶業(yè)務(wù)操作過程可能細(xì)分為若干個(gè)事務(wù),單位時(shí)間處理的事務(wù)數(shù)越多,說明服務(wù)器的處理能力越強(qiáng)。
根據(jù)上述各個(gè)指標(biāo)的概念,結(jié)合被測對(duì)象本身的業(yè)務(wù)情況,做出如下測試需求及指標(biāo)分析。
ECShop是一個(gè)面向廣大網(wǎng)絡(luò)用戶的電子商務(wù)系統(tǒng)。大部分用戶會(huì)在某個(gè)時(shí)間段訪問該電商平臺(tái),進(jìn)行網(wǎng)絡(luò)購物,但如何確定用戶訪問的時(shí)間段呢?
新系統(tǒng)沒有上線時(shí),沒有歷史數(shù)據(jù)可以依據(jù),這種情況下,測試工程師可以通過競品分析,獲取友商系統(tǒng)的運(yùn)營數(shù)據(jù)作為參考。以淘寶運(yùn)營數(shù)據(jù)為例,通過運(yùn)營團(tuán)隊(duì)統(tǒng)計(jì),大部分消費(fèi)者集中在如圖2所示的時(shí)間段訪問電商平臺(tái)。