千家信息网

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

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,高并发测试工具Tsung使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。tsung是erlang开发的一款开源的多协议分布式负载并
千家信息网最后更新 2024年09月30日高并发测试工具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使用方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

测试 配置 文件 目录 命令 生成 用户 信息 服务 参数 结果 随机数 方法 多个 报表 用户数 系统 工具 测试工具 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全措施和应急处理预案 第八届网络安全应急支撑单位 宁海一站式软件开发周期 软件开发学需要大学文凭吗 办公软件开发技术 数据库程序员的薪资 山西正规软件开发价格标准 软件开发控制 委托软件开发在哪个科目核算 房友中介管理系统数据库 网络安全5的句子 山东专业软件开发价格 服务器的数据是管理前端的吗 小七开少年三国服务器 命运二怎么总显示连接服务器 南宁网络安全工程师薪资高就业快 天河高端的小程序软件开发 json省份数据库 通付盾 中国网络安全50 上海特种网络技术价目表 初中网络安全小论文 即时通讯软件开发的区别在哪 6.数据库安全 有哪所学校可以学软件开发的 刚毕业想学软件开发可以吗 浙江网络技术咨询五星服务 master数据库有何作用 如何知道操作了哪些数据库表 公安部网络安全局是否招人 广州软件开发会议
0