本文在第一篇的基礎上講解,如果你還沒有安裝curl-loader性能測試工具。請先參考《性能測試工具curl-loader(linux)》
這一節具體分析一下curl-loader的使用,以及各項參數的含義。
簡單的性能測試與要求環境:
------- --------------------------------------------------------------------------------------------------------------- ----------------------
訪問百度首頁:http://www.baidu.com/index.html
虛擬用戶數:20
初始啟動用 戶:1
每秒鐘啟動:1 (20秒後20位用戶全部啟動)
網絡環境:本地linux -----外網百度首頁 帶寬:45KB/s (不穩定)
性能工具:curl-loader
--------------------------------------- -------------------------------------------------------------------------------------------------------
性 能文件配置:
可以在curl-loader-0.56/conf-examples/ 目錄下任意找一個配置文件,拷貝重名為: baidu.conf
[root@youname conf-examples]# vi baidu.conf 打開配置文件進行修改
########### GENERAL SECTION ################################ BATCH_NAME= baidu //測試對象的名稱 CLIENTS_NUM_MAX=20 //最大虛擬用戶數 CLIENTS_NUM_START=1 //一開始啟動用戶數 CLIENTS_RAMPUP_INC=1 //每秒鐘啟動幾個用戶 INTERFACE =eth0 //使用的網卡eth0 NETMASK=16 //子網掩碼位數 IP_ADDR_MIN= 192.168.1.1 //起始IP地址 IP_ADDR_MAX= 192.168.53.255 #Actually - this is for self-control //最後的IP地址范圍 CYCLES_NUM= -1 // -1 表示無限循環 URLS_NUM= 1 ########### URL SECTION #################################### URL=http://www.baidu.com/index.html //要測試的URL #URL=http://localhost/ACE-INSTALL.html URL_SHORT_NAME="local-index" REQUEST_TYPE=GET TIMER_URL_COMPLETION = 5000 # In msec. When positive, Now it is enforced by cancelling url fetch on timeout TIMER_AFTER_URL_SLEEP =20
關於各項參數的含義,上面代碼中已經加了注釋。修改完成後,保存退出!
運行 性能測試:
執行下面命令運行配置文件,開始進行測試。
[root@youname curl-loader-0.56]# curl- loader -f ./conf-examples/baidu.conf 啟動運行剛才配置的文件
============ loading batch is: mysimp ====================================== -------------------------------------------------------------------------------- Interval stats (latest:3 sec, clients:20, CAPS-curr:23): H/F Req:70,1xx:0,2xx:77,3xx:0,4xx:0,5xx:0,Err:0,T-Err:3,D:273ms,D-2xx:273ms,Ti:196498B/s,To:4344B/s H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s -------------------------------------------------------------------------------- Summary stats (runs:114 secs, CAPS-average:24): H/F Req:2731,1xx:0,2xx:2713,3xx:0,4xx:0,5xx:0,Err:15,T-Err:46,D:280ms,D-2xx:280ms,Ti:187514B/s,To:4385B/s H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s ================================================================================= Manual: clients:max[20],curr[20]. Inc num: [+|*]. ===================================================================
注:上面信息一直在刷新中。按鍵盤 ctrl+C 鍵終止測試
各項參數說明:
interval stats 間隔統計
latest 最新數據(3秒內的)
clients 並發用戶數量
CAPS-curr 最新發送請求數
req: request (請求)
- 1xx成功NUM; - 2xx成功NUM;- 3xx的重定向數量;- 4xx客戶端錯誤數;- 5xx服務器錯誤數;
平均2XX(成功)的HTTP響應中的應 用服務器延時,如上,但只有2xx有應答。來推動是3xx的重定向和5xx服務器錯誤/拒絕未必能真實反映一個測試服務器工作的功 能(D2XX);
Ti (T-in) 吞吐量“吞”,平均值,字節/每秒
To (T-out) 吞吐量“吐”,平均值,字節/每秒
Summary stats 總結統計
runs 運行時間
CAPS-average 總平均發送請求數(秒)
錯誤類型 :
err - 其他NUM錯誤,如解析,TCP連接,服務器關閉或空響應;
T-err - URL完成 時間到期的錯誤;
測試結果信息
k上面提到按鍵盤ctrl+C 鍵將終止測試,curl-loader會給出如下提示:
======= SIGINT Received ============. H/F Req:97,1xx:0,2xx:97,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:211ms,D-2xx:211ms,Ti:257228B/s,To:5852B/s H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s ======================================================================================= End of the test for batch: mysimp ======================================================================================= Test total duration was 117 seconds and CAPS average 23: H/F Req:2828,1xx:0,2xx:2810,3xx:0,4xx:0,5xx:0,Err:15,T-Err:46,D:277ms,D-2xx:277ms,Ti:189301B/s,To:4423B/s H/F/S Req:0,1xx:0,2xx:0,3xx:0,4xx:0,5xx:0,Err:0,T-Err:0,D:0ms,D-2xx:0ms,Ti:0B/s,To:0B/s Exited. For details look in the files: - baidu.log for errors and traces; - baidu.txt for loading statistics; - baidu.ctx for virtual client based statistics. - baidu.ops for operational statistics. Add -v and -u options to the command line for verbose output to mysimp.log file. You have new mail in /var/spool/mail/root
k測試總時間為117秒和CAPS平均23
kcaps 每秒發送請求數量
--------------------------------------------------
- baidu.log for errors and traces;
- baidu.txt for loading statistics;
- baidu.ctx for virtual client based statistics.
- baidu.ops for operational statistics
baidu.log錯誤和痕跡;
baidu.txt對於加載統計數字
baidu.ctx虛擬客戶端的統 計數字。
baidu.ops業務統計 。
測試運行完成後會在當前目錄下生成上面幾個文件(bidu.log 、baidu.txt、 baidu.ctx、baidu.ops),我們可以查看那幾個文件獲得更詳細的測試數據。
如果想在運行測試的過程中獲得更詳細的 信息,可以在運行測試的命令中加 -v 和 -u參數。命令使用如下
[root@youname curl-loader-0.56]# curl- loader -v -f ./conf-examples/baidu.conf
[root@youname curl-loader-0.56]# curl-loader -u -f ./conf-examples/baidu.conf
總結:通過對上面內容的分析,大體對curl-loader的各項參數有了初 步了解。當然,我所列舉的內容並不詳細。還有地方比較模糊,比如運行過程中H/F和H/F/S 我都沒整太明白具體表示的含義。
本文參考官方FAQ文檔:http://curl-loader.sourceforge.net/doc/faq.html