一几缭、介紹:
它能用來壓力測試HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和 Jabber/XMPP的服務(wù)器河泳。它可以分布在多個(gè)客戶機(jī),并能夠模擬成千上萬的虛擬用戶數(shù)并發(fā)年栓。
傳統(tǒng)壓力測試工具要收費(fèi),而且很貴, 難以擴(kuò)展,無法很好的集群形成大的壓力.Tsung內(nèi)置支持 HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP協(xié)議. Tsung可以同時(shí)模擬上百萬用戶,如果你有夠多的機(jī)器的話Tsung穩(wěn)定可靠
二拆挥、安裝
1、安裝前確認(rèn)系統(tǒng)是否安裝了編譯環(huán)境gcc和perl:
rpm –q gcc
rpm –q perl
沒有的話:
\1. # yum install gcc -y
\2. # yum install perl -y
2某抓、安裝erlang
Tsung是用erlang寫的需要安裝erlang:
wget www.erlang.org/download/ot…
tar -zxvf otp_src_R14B04.tar.gz
cd otp_src_R14B04
./configure --prefix=/usr/local/erlang
make
make install
備注:在configure時(shí)竿刁,會報(bào)configure: error: No curses library functions found 錯(cuò)誤,這是由于系統(tǒng)缺少ncurses-devel包搪缨,安裝ncurses-devel包后食拜,重新configure一次:
yum install –y ncurses-devel
在configure時(shí)會報(bào)java not found,可以在配置加一個(gè)—without-javac選項(xiàng):
./configure --prefix=/home/erlang --without-javac
在configure時(shí)還會報(bào)一個(gè)odbc的disabled副编,如果你覺得有必要的話负甸,可以安裝:(好像不安裝也可以直接make,)
yum install unixODBC unixODBC-devel
在configure時(shí)還會有其他的錯(cuò)誤提醒,可以忽略直接make呻待;
3打月、安裝Tsung
wget tsung.erlang-projects.org/dist/tsung-…
tar -zxvf tsung-1.4.2.tar.gz
cd tsung-1.4.2
./configure --prefix=/usr/local/tsung --with-erlang=/usr/local/erlang
make
make install
4、安裝perl的Template
Tsung 生成統(tǒng)計(jì)報(bào)告時(shí)需要用到該模板
wget cpan.org/modules/by-…
tar -zxvf Template-Toolkit-2.24.tar.gz
cd Template-Toolkit-2.24
perl Makefile.PL
make
make test
make install
在perl Makefile.PL時(shí)可能會報(bào)以下錯(cuò)誤:
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl 5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_pe rl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
編譯FCGI的時(shí)候報(bào)錯(cuò).google了下,找到答案,只有安裝
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
就可以了
5蚕捉、安裝gnuplot(圖片生成工具)
yum install -y gnuplot gd libpng zlib
確定gnuplot支持png奏篙,輸入shell命令:gnuplot
gnuplot> set terminal
然后按回車確認(rèn)是否已經(jīng)支持png,看到下面這行迫淹,說明已經(jīng)支持了:
\1. png PNG images using libgd and TrueType fonts
退出gnuplot的命令為:exit
6秘通、Tsung 使用方法
為了方便:
ln /usr/local/erlang/bin/erl /usr/sbin/erl (集群的時(shí)候會用到,因?yàn)閟sh要求erl必須在sshd所在的path中)
ln /usr/local/tsung/bin/tsung /usr/bin/tsung
啟動Tsung:(一般在/usr/local/tsung/bin/tsung)
tsung -f jabber.xml start
啟動后敛熬,Tsung會輸出log的存放路徑(一般在/root/.tsung/)
\1. Starting Tsung
\2. "Log directory is: /root/.tsung/log/20120329-2234"
等待測試完畢肺稀,進(jìn)入log目錄
cd /root/.tsung/log/20120329-2234
/usr/local/tsung/lib/tsung/bin/tsung_stats.pl (生成統(tǒng)計(jì)圖表)
注意:一定要在相應(yīng)的log目錄下,才能生成統(tǒng)計(jì)圖表应民。
查看統(tǒng)計(jì)圖表方法:
可以啟動httpd服務(wù)话原,然后將整個(gè)log目錄復(fù)制到httpd可訪問目錄下,直接訪問每一次測試的log目錄下report.html
7诲锹、關(guān)于Tsung的monitor配置
Monitor有兩種方式繁仁,默認(rèn)采用erlang,另外一種是snmp:
Erlang需要無密碼ssh的配置归园;
Snmp需要安裝snmpd服務(wù)及相關(guān)工具黄虱,snmpd.conf配置一開始不容易配置,需要161udp端口蔓倍;建議使用snmpd服務(wù)悬钳,畢竟其他很多測試工具都默認(rèn)使用snmpd服務(wù)監(jiān)控服務(wù)器盐捷;
注意:
被監(jiān)控服務(wù)器的防火墻盡量是關(guān)閉的,service iptables stop
這里使用snmp類型,默認(rèn)161端口袍镀,也可以指定端口詳見user manual
8评疗、實(shí)例
1) 編輯xml文件
關(guān)于http協(xié)議的http url注意點(diǎn):
&符號需要更換為& ,否則tsung會報(bào)錯(cuò)
?type=2&page=1&pagesize=10 get的方式滞诺,在post方式需要在http中再加contents=” type=2&page=1&pagesize=10”
2) Tsung start
3) 數(shù)據(jù)收集-數(shù)據(jù)文檔-圖表生成
4)可以將.tsung/log/ 整個(gè)文檔放到http服務(wù)器主目錄下形导,通過http://192.168.2.211/log/20130325-1053/report.html訪問報(bào)告文檔:(含有表格、圖表兩種方式)