当前位置: 首页 > 工具软件 > Tsung > 使用案例 >

Tsung的介绍

柳涵意
2023-12-01

 

  最近需要做些测试相关的工作,开始接触压力测试;记录下来,以便以后复习,也希望能与大家分享;有错之处,请各位多多包涵;

压测工具Tsung介绍

1. Tsung是什么,有哪些特性?

Tsung是一个开源多协议分布式的压力测试工具。它可以用来测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和Jabber/XMPP的服务器,并且支持扩展协议。只要硬件足够,它可以在客户机集群上分布运行,模拟上百万用户。国内主要有 华为 和 SNS 网站在用;


主要特性:

1. 高性能

2. 多协议支持并支持扩展协议。

3. 利用OS的IP别名技术,在单机上可以使用多个IP。

4. 服务器监控(CPU, 内存, 网络流量),支持SNMP, Munin 或 Erlang方式。

5. 测试方案使用XML配置,可用不同的session来模拟不同类型的用户。

6. 模拟真实流量,用随机概率模拟用户的思考时间和抵达率。

7. HTML及图表方式报告压测结果。

 

2. Tsung的安装

Tsung目前只支持Linux系统,下面介绍Tsung在CentOS下的安装。

Tsung是erlang写的,绘制图表时使用的gnuplot,需要使用perl相关库,所以也要安装perl, gnuplot。

2.1 安装前提

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

2.2 安装perl及gnuplot

yum -y install perl
yum -y install gnuplot

2.3 安装erlang

erlang的下载地址http://www.erlang.org/download.html,最新版为 R16B02。

tar -zxvf otp_src_R16B02.tar.gz
cd otp_src_R16B02
./configure --prefix=/usr/local/erlang
make && make install

2.4 安装tsung

Tsung的下载地址http://tsung.erlang-projects.org/dist/,最新版为1.5.0。也可以到github拉最新的下来,地址https://github.com/processone/tsung

由于我们的业务很多要发protocolbuffer的二进制数据,而这些数据需要写在文件中才能读取,

为了在一个文件中写多个pb数据,建议使用修改过的tsung版本,版本见附件tsung-fix_raw.zip

修改内容:

文件读取是按行读取的,tsung默认行分隔符为“\n”(10),而pb中有很多"\n",这样一个pb就会被分割成多个数据段,且每个数据段都不可用。

该修改版本将文件读取的行分隔符改为"\r\n"(13,10),这样一个pb就能被完整读取;且如果多个pb间使用“\r\n”(13,10)进行分割,多个pb都能正常读取。

 注意:若想在一个文件中写多个pb文件,需要在多个pb中间写入"\r\n"(13,10)。

代码在src\tsung_controller\ts_file_server.erl的第223行,行分隔符也可以自行修改为其他内容,在源代码中修改完成以后再 make && make install 安装

tar zxvf tsung-1.5.0.tar.gz
cd tsung-1.5.0
./configure --prefix=/usr/local/tsung --with-erlang=/usr/local/erlang
make && make install

2.5 安装perl的Template-Toolkit

Tsung生成统计报告时需要用到该模板。Template-Toolkit下载页面:http://www.template-toolkit.org/download/index.html

tar -zxvf Template-Toolkit-2.25.tar.gz
cd Template-Toolkit-2.25
perl Makefile.PL
make
make test
make install

 

至此Tsung的软件就安装好了,如果想直接使用erl, tsung, tsung_stats.pl等命令,可以将其加入到系统Path中。

3. Tsung的配置文件

配置文件的结构如下

1. 文档结构(File Structure

2. 客户机及服务器设置(Clients and Server

3. 选项(Setting options

4. 监控(Monitoring

5. 负载情况(Defining the load progression

6. 用户会话(Sessions

 

 类似资料: