本次在VMware虛擬機的CentOS6.3系統中進行安裝wrk壓測工具,具體如下:
一、預先安裝需求項
為了安裝順利,不受權限的限制,首先可以把用戶切換為root用戶# su
+ 輸入root用戶對應的密碼
1.1 安裝支持后續操作的一些組件# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
1.2 安裝編譯套件# yum install gcc perl-ExtUtils-MakeMaker
二、安裝or升級版本管理工具git
2.1 查看git版本# git --version
若libiconv字符集轉換庫沒安裝而出現錯誤:error: /utf8.c:463: undefined reference to 'libiconv'
解決方案:依次執行如下命令(無以上error則略過)# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
# tar zxvf libiconv-1.14.tar.gz
# cd libiconv-1.14
# ./configure --prefix=/usr/local/libiconv
# make && make install
2.2 卸載舊版本git
在CentOS6.3系統環境下,如果以上查詢的版本比較早(如:1.7.1版本),對后續的安裝wrk會受到阻礙,故需升級git到新版本(如:2.2.1版本)
卸載舊版本的目錄為:# yum remove git
2.3 安裝新版本git
1)下載git 2.2.1進行編譯安裝;2)將git添加到環境變量# wget https://github.com/git/git/archive/v2.2.1.tar.gz
# tar -zxvf v2.2.1
# cd git-2.2.1
# make configure
# ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
# make all doc
# make install install-doc install-html
# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
# source /etc/bashrc
再次查看安裝新版本git后的效果:git --version
三、正式安裝wrk
切換到src目錄,再次檢驗是否安裝git# cd /usr/local/src
# yum install git -y
3.1 克隆wrk安裝文件到本地# git clone https://github.com/wg/wrk.git
3.2 編譯wrk文件# cd wrk
# make
若出現錯誤:xmlto: command not found,可以嘗試重新安裝xmlto:# yum -y install xmlto
3.3 創建軟鏈接到指定目錄# ln -s /usr/local/src/wrk/wrk /usr/local/bin
3.4 檢驗wrk是否安裝成功# wrk

四、wrk性能測試
4.1 配置待測網站的IP指向到內網
根據測試環境的要求,進行環境配置,比如有的網站不允許在外網正式環境進行壓測,就需要配置一個指向內網的環境進行測試
打開hosts編輯器# vim /etc/hosts
配置當前環境的hosts,格式為:
# IP1 url1 # IP2 url2 ... # IPx urlx
ESC鍵從編輯模式切換到正常模式,然后輸入:wq
保存並退出
4.2 測試http協議網站的性能
[root@localhost /]# wrk -t2 -c10 -d15 --latency http://www.baidu.com Running 15s test @ http://www.baidu.com 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 35.64ms 1.31ms 48.59ms 79.38% Req/Sec 138.40 13.52 151.00 89.00% Latency Distribution 50% 35.50ms 75% 36.13ms 90% 37.09ms 99% 40.33ms 4151 requests in 15.05s, 60.83MB read Socket errors: connect 0, read 29, write 0, timeout 0 Requests/sec: 275.72 Transfer/sec: 4.04MB
4.3 wrk參數含義
1)語法中的參數
-t:需要模擬的線程數
-c:需要模擬的連接數
-d:測試的持續時間
--timeout:超時的時間
--latency:顯示延遲統計
2)結果顯示的指標
Latency:響應時間
Req/Sec:每個線程每秒鍾的完成的請求數
Avg:平均
Max:最大
Stdev:標准差