tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问。目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过。
1、安装
tsung是用erlang编写的,所以首先安装erlang的运行环境。然后就是按照tsung的官网下载编译tsung。需要注意的是,生成测试报告需要gnuplot和perl的支持,其中perl需要安装Template扩展。具体安装过程请看相关手册或者google之。
2、配置文件
默认情况下,tsung会加载配置文件
~/.tsung/tsung.xml
将tsung自带的http的配置示例
/usr/share/doc/tsung/examples/http_simple.xml
复制到该位置,修改一下即可运行。一个最简单的配置文件:
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="100000"/>
</clients>
<servers>
<server host="172.16.33.203" port="10013" type="tcp"></server>
</servers>
<monitoring>
<monitor host="myserver" type="snmp"></monitor>
</monitoring>
<load>
<arrivalphase phase="1" duration="1" unit="minute">
<users interarrival="0.01" unit="second"></users>
</arrivalphase>
</load>
<sessions>
<session name="http-example" probability="100" type="ts_http">
<request>
<http url="/a.php" method="GET" version="1.1"></http>
</request>
<!--<thinktime value="1" random="true"></thinktime>-->
<request>
<http url="/b.php" method="GET" version="1.1"></http>
</request>
</session>
</sessions>
</tsung>
clients:用户产生的方式
servers:被测试的服务器
monitoring:通过一些协议如snmp监控服务器的状态(本人没有使用过)
load:压力配置
sessions:用户所产生的会话
运行命令
tsung start
压力测试开始,tsung输出一段提示,告知测试记录的位置,可以使用命令
tsung status
查看tsung当前的状态
...
more: http://tiandiou.blog.163.com/blog/static/2355668220115392725727/