本實驗中,我將使用AutoBench來進行Web服務端的性能測試,藉助於Httperf來實現集羣測試。
本文接着上篇文章中的測試URL來進行分析AutoBench的測試過程。首先我們創建測試的命令行如下:
autobench --single_host --host1=127.0.0.1 --port1=8081 --uri1=/getServerIp --quiet --low_rate=500 --high_rate=11000 --rate_step=500 --num_call=1 --num_conn=1000 --timeout=10 --file ./result.tsv
參數分析:
--single_host:表示只進行單機測試。AutoBench可支持單機和雙機的測試。
--host1 : 測試服務器的IP或者域名
--post1: 測試服務器程序監聽的端口號
--uri1 : 測試時訪問的Url
--low_rate : 測試時最低請求數
--high_rate : 測試時最高請求數
--rate_step : 請求增加的步長
--num_call : 每個連接的請求數
--num_conn : 瞬時將向服務器懟出這麼多個併發連接
--file : 測試輸出結果文件
因此上面的命令大概意思就是:
使用AutoBench,模擬客戶端請求併發數量從500開始,500爲步長,最高請求總量爲11000。瞬時懟到服務器上的併發連接數爲1000,每個連接發送一個請求,輸出結果保存在result.tsv文件中。
打開測試結果文件result.tsv。主要有以下幾個參數需要注意
dem_req_rate 併發請求數
req_rate_127.0.0.1 實際併發請求數
resp_time_127.0.0.1 服務端請求響應時間(單位ms)
net_io_127.0.0.1 網絡IO
進行多組實驗,分別取得響應時間和實際併發連接數的平均值,畫圖,評估服務端的性能。