Jmeter性能測試系列——性能測試工作實施(指標分析與定義)(二)

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

