Tsung安装使用教程

一、tsung简介

Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器。针对 HTTP 测试,Tsung 支持 HTTP 1.0/1.1 ,包含一个代理模式的会话记录、支持 GET、POST 和 PUT 以及 DELETE 方法,支持 Cookie 和基本的WWW 认证,同时还支持 SSL。

二、tsung工作原理

  • (1) Tsung的每一个虚拟用户就是一个erlang的轻量进程。这点和loadrunner有很大的区别。
  • (2) 虚拟用户完成session后就消失。
  • (3) 大量的虚拟用户(erlang轻量进程)建立在erlangVM上。
  • (4) 一台测试机可以启多个erlangVM,目前按照1个cpu启动1个erlangVM。

三、安装前检查环境

1、查看环境

[root@localhost bin]#  lsb_release -a
LSB Version:   :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:   CentOS
Description:   CentOS release 6.4 (Final)
Release:   6.4
Codename:   Final

2、确保安装了以下工具

yum install gcc -y  yum install perl -y  
yum install unixODBC  
yum install unixODBC-devel

四、安装

1、下载并安装erlang

[root@localhost ~]#cd /usr/local
[root@localhost local]#mdir -p erlang
​
[root@localhost local]# wget http://www.erlang.org/download/otp_src_R14B04.tar.gz 
[root@localhost local]# tar -zxvf otp_src_R14B04.tar.gz  
[root@localhost local]# cd otp_src_R14B04  
[root@localhost otp_src_R14B04]# ./configure --prefix=/usr/local/erlang  
[root@localhost otp_src_R14B04]# make  
[root@localhost otp_src_R14B04]# make install  

注意:如果出现 “configure: error: No curses library functions found “错误,尝试安装:

[root@localhost otp_src_R14B04]#yum install -y ncurses-devel

2、下载并安装tsung

[root@localhost ~]#cd /usr/local
[root@localhost local]#mkdir -p tsung
​
[root@localhost local]# wget http://tsung.erlang-projects.org/dist/tsung-1.4.2.tar.gz  
[root@localhost local]# tar -zxvf tsung-1.4.2.tar.gz  
[root@localhost local]# cd tsung-1.4.2  
[root@localhost tsung-1.4.2]# ./configure --prefix=/usr/local/tsung --with-erlang=/usr/local/erlang  
[root@localhost tsung-1.4.2]# make  
[root@localhost tsung-1.4.2]# make install 

3、下载并安装perl Template,用于生成报告模版

[root@localhost ~]#cd /usr/local
​
[root@localhost local]# wget http://cpan.org/modules/by-module/Template/Template-Toolkit-2.24.tar.gz  
[root@localhost local]# tar -zxvf Template-Toolkit-2.24.tar.gz  
[root@localhost local]# cd Template-Toolkit-2.24  
[root@localhost Template-Toolkit-2.24]# perl Makefile.PL  
[root@localhost Template-Toolkit-2.24]# make  
[root@localhost Template-Toolkit-2.24]# make test  
[root@localhost Template-Toolkit-2.24]# make install 

注意:如果出现 以下提示:

[root@localhost Template-Toolkit-2.24]# perl Makefile.PLCan't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: ./lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 11.
BEGIN failed--compilation aborted at Makefile.PL line 11.

解决办法:

[root@localhost local]# yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

4、下载并安装gnuplot,用于聊天生成

[root@localhost local]#yum install -y gnuplot gd libpng zlib 

五、检查是否安装成功

[root@localhost local]# perl -v      命令查看显示perl 当前版本信息。
[root@localhostlocal]# gnuplot       命令查看gnuplot 的安装版本
[root@localhost local]# erl          命令查看erlang的安装版本
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
[root@localhost local]# tsung -v 命令查看tsung 的安装版本 
Tsung version 1.4.2 

六、安装后设置环境变量

安装成后添加erlang、tsung环境变量

[root@localhost local]# vim /etc/profile   
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/erlang/bin:/usr/local/tsung/bin:/usr/local/nginx/sbin:$PATH(修改自己实际变量)  
:wq保存,退出  
[root@localhost local]# source /etc/profile   
不报错则成功  
[root@localhost local]# tsung -v   
Tsung version 1.4.2
[root@localhost local]# erl -v  
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
1>

七、使用并生成报表

1、在root文件夹下新建.tsung目录,用于存放log和xml配置,测试配置文件可参考/usr/local/tsung/share/doc/tsung/examples/目录下配置

[root@localhost local]#mkdir ~/.tsung
[root@localhost local]#cp /usr/local/tsung/share/doc/tsung/examples/http_simple.xml ~/.tsung/tsung.xml

2、运行,默认执行脚本~/.tsung/tsung.xml配置

[root@localhost local]# tsung start
Starting Tsung
"Log directory is: /root/.tsung/log/20150311-0536"
image-20210602095724264

3、进入Log目录下可以看到生成的报表信息

[root@localhost 20150311-0536]# cd /root/.tsung/log/20150311-0536
[root@localhost 20150311-0536]# ls -a
.  ..  match.log  tsung_controller@localhost.log  tsung.log  tsung.xml
image-20210602095820314

4、进入需要生成图形报表的Log目录,如/root/.tsung/log/20150311-0536

[root@localhost 20150311-0536]#/usr/local/tsung/lib/tsung/bin/tsung_stats.pl 
creating subdirectory data 
creating subdirectory gnuplot_scripts 
creating subdirectory images 
No data for Session
No data for Perfs
No data for Transactions
No data for Match
No data for Event
No data for Async
No data for Size
size_rcv is equal to 0 !
size_sent is equal to 0 !
[root@localhost 20150311-0536]# ls
data  gnuplot.log  gnuplot_scripts  graph.html  images  match.log  report.html  tsung_controller@localhost.log  tsung.log  tsung.xml
image-20210602095857962

将report.html拖到windows系统中,直接打开即可查看。或者通过python搭建临时服务器来查看报表结果

[root@localhost 20150311-0536]# /usr/bin/python -m SimpleHTTPServer 9090
http://主机服务器IP:9090/report.html
image-20210602100007105
image-20210602100047480

若生成图形报表报错

[root@localhost 20150311-0536]#/usr/local/tsung/lib/tsung/bin/tsung_stats.pl 
creating subdirectory data 
creating subdirectory gnuplot_scripts 
creating subdirectory images 
warn, last interval (8) not equal to the first, use the first one (10)
No data for Bosh
No data for Match
No data for Event
Can't locate Template.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/bin/tsung_stats line 570.

解决:

yum –y install perl-Template-Toolkit

不过实际使用中发现用上面的方式也没有成功,原因是我的系统是centos7.8,安装时不需要-y这个参数。

yum install perl-Template-Toolkit

八、XML参数配置(重点)

环境搭建ok后我们开始使用tsung进行性能测试

模板:

其实tsung提供了一系列的模板,包括所有tsung支持的服务类型的xml模板

cd /usr/local/tsung/share/doc/tsung/examples/
image-20210602100421826

可以直接拷贝模板xml,稍微修改即可使用

参数配置文档:https://github.com/processone/tsung/blob/develop/tsung-1.0.dtd

参考博客:

  • https://www.cnblogs.com/linkxu1989/p/6632700.html
  • https://www.cnblogs.com/NiceTime/p/8563047.html
  • https://blog.csdn.net/lluozh2015/article/details/105740147

发表评论

电子邮件地址不会被公开。 必填项已用*标注