千家信息网

高并发测试工具Tsung使用方法

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,高并发测试工具Tsung使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。tsung是erlang开发的一款开源的多协议分布式负载并
千家信息网最后更新 2024年11月28日高并发测试工具Tsung使用方法

高并发测试工具Tsung使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

tsungerlang开发的一款开源的多协议分布式负载并发测试工具

可用作HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP 和 Jabber/XMPP的服务器压力测试。

tsung可分布在多个客户机,并能够模拟成千上万的虚拟用户数并发。

1 下载安装

Tsung 已经在Linux、FreeBSD和Solaris上通过测试,

其他系统,只要支持Erlang语言的平台上,也是可以工作的(Linux、Solaris、*BSD、Win32 和 Mac OS X)。

Mac OS X通过 Homebrew 即可安装 tsung,命令:

brew install tsung

Ubuntu 安装也很简单,命令:

apt-get install tsung

其他系统需要先下载源码包再安装,源码包下载地址:

  • http://tsung.erlang-projects.org/dist/

tsung 1.6.0为例,下载安装命令:

wget http://tsung.erlang-projects.org/dist/tsung-1.6.0.tar.gz  # 以1.6.0版本为例tar -zxf tsung-1.6.0.tar.gz   # 解压cd tsung-1.6.0                # 进入目录./configure                   # 配置,生成 Makefile 文件make                          # 编译make install                  # 安装

configure 的时候,如果没有安装 tsung 依赖的 Erlang 语言库,会提示下面的错误:

...checking for Erlang/OTP root directory... configure: error: in `/root/tsung-1.6.0':configure: error: test Erlang program execution failed...

可以用下面的命令先安装erlang,再 configure

brew install erlang        # OS X Homebrewport install erlang        # OS X MacPortsapt-get install erlang     # Ubuntu 和 Debianyum install erlang         # Fedorapkg install erlang         # FreeBSD

其他系统需要从源码安装 Erlang,稍微复杂一些,可参考:https://github.com/erlang/otp/blob/maint/HOWTO/INSTALL.md 。

2 运行

tsung安装完成后,会生成两个命令文件:

  1. tsung

  2. tsung-recorder

默认生成在 /usr/local/bin 目录下,使用-h参数可以查到它们所有的参数:

tsung -h

在启动 tsung 之前,我们需要一个 XML 格式的配置文件,tsung会根据该配置文件进行测试。

/usr/share/doc/tsung/examples 目录下有一些 XML 配置文件范例,

将其中HTTP测试配置文件 http_simple.xml 拷贝到当前目录,

再执行,命令如下:

cp /usr/local/share/doc/tsung/examples/http_simple.xml ./   # 拷贝范例配置文件tsung -f http_simple.xml start                              # 指定xml文件并开始。如果不指定,则默认使用 ~/.tsung/tsung.xml

这个命令会打印出测试的日志目录,直到测试结束。

3 结果

tsung 测试结束后,测试结果 Log 保存在目录 ~/.tsung/log/ 下。

当启动一个新的测试时,会在这个目录下面创建一个新的子目录,用以保存测试的数据。

Log 格式为当前日期和时间的组合,例如:~/.tsung/log/20160217-0940。

默认情况下,控制节点会启动一个嵌入的网站服务器,侦听8091端口(可以用 -n 选项禁用)。

测试过程也可以用tail命令查看实时记录:

tail -f ~/.tsung/log/20140430-1126/tsung.log

测试结束之后,再用tsung_stats.pl生成报表。

yum install gnuplot       # tsung_stats.pl 需要用到的 gnuplotmkdir http_simple         # 创建用以保存报表的目录cd http_simple            # 进入目录/usr/local/lib/tsung/bin/tsung_stats.pl --stats ~/.tsung/log/20160305-0933/tsung.log  # 生成报表

之后,会在 http_simple 目录下生成3个目录和1个 log 文件,其中 images 目录下就是报表图片,类似如下。

以上仅是测试,没有实际用处,因为没有配置要测试的网站,所以所得到的结果没有实际意义。

需要修改 XML 配置文件后再测试,才会得到有意义的结果。

4 配置文件

打开 http_simple.xml ,下面来讲几个关键的配置。

4.1 clients

用户产生的方式:

  

tsung运行时可以由很多的虚拟机(VM)组成,client配置指明这个client机器上最多生成的用户数,

如果use_controller_vmtrue的话,那么当用户数达到maxusers,tsung会自动生成新的虚拟机。

4.2 servers

  

server段可以配置被测服务器的相关信息,也可以配置成集群,如下

    

tsung会根据weight值来选择发起请求的server

4.3 monitoring

系统监控服务,配置完后可获取被测server的CPU、内存、负载、数据库等相关信息。

可以配置成erlang的监控服务和snmp的监控服务。

        

4.4 load

        

load段可配置访问的负载,访问可以配成多个阶段,由phase值指定。

duration是测试持续时间,unit是单位。

users段的maxnumber限制了生成的最大用户数,

interarrival="0.02"表示0.02秒产生一个新用户,用户按照session的配置顺序执行session中的request

4.5 options

  

options段可配置一些请求的信息,如agent信息。

4.6 sessions

                                                                                                           

可配置多个子session,进而可测试多个api,

可以设置请求概率,在probability里定义,

要求每个sessionprobability之和是100,类型是http。

sessions里可用for来设定请求次数,如下

在里面可以设置请求的具体信息。

在请求参数里可以带上随机数。

随机数和随机字符串的定义如下:

    

%%_xxx%%的形式来调用。

这里必须注意的是,要使用随机数,request必须加上subst="true"参数,不然随机数无法被引用成功。

随机数也可从文件读取,如csv

http内部可定义header参数:

thinktime可用于定义两个请求的间隔时间

另外可定义不同的transaction ,这样子结果里就会显示不同transaction的具体信息。

看完上述内容,你们掌握高并发测试工具Tsung使用方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0