系列文章目录
Tsung百万压测之一:执行步骤篇
Tsung百万压测之二:环境搭建、配置文件编写和运行、报表生成
Tsung百万压测之三:配置文件(压测脚本)的关键配置
Tsung压测踩坑之server集群
打开http_simple.xml,下面来讲解几个关键配置。
loglevel
<tsung loglevel="notice" version="1.0">
clients
用户产生的方式:
<clients>
<client host="localhost" weight="1" maxusers="1000" use_controller_vm="true"/>
</clients>
- host: 配置客户端地址(eg: 192.168.1.1:8080)
- use_controller_vm: 是否使用虚拟控制器设置客户端最大连接数。
- maxusers:客户端最大连接数。为false时,达到上限就不再创建连接。
- weight: clients也可以配置成集群,根据weight值来随机选择发起请求的clients。
- tsung运行时可以由很多的虚拟机(VM)组成,client配置指明这个client机器上最多生成的用户数,如果use_controller_vm为true的话,那么当用户数达到maxusers,tsung会自动生成新的虚拟机。
但是,前提是要打开操作系统的limits-最大进程数(limits.conf中修改),大多操作系统默认最大进程数为1024。
servers
<servers>
<server host="myserver" port="80" type="tcp"></server>
</servers>
server段可以配置被测服务器的相关信息,也可以配置成集群,如下
<servers>
<server host="server1" port="80" type="tcp" weight="4"></server>
<server host="server2" port="80" type="tcp" weight="1"></server>
</servers>
tsung会根据weight值来随机选择接收请求的server。
monitoring
<monitoring>
<monitor host="garden" type="erlang">
<mysqladmin port="3306" username="root" />
</monitor>
</monitoring>
系统监控服务,配置完后可获取被测server的CPU、内存、负载、数据库等相关信息。
可以配置成erlang的监控服务和snmp的监控服务。
load
<load>
<arrivalphase phase="1" duration="3" unit="minute">
<users maxnumber="100" interarrival="0.02" unit="second" ></users>
</arrivalphase>
<arrivalphase phase="2" duration="5" unit="minute">
<users maxnumber="100" arrivalrate="2" unit="second" ></users>
</arrivalphase>
</load>
- load段可配置访问的负载,访问可以配成多个阶段,由phase值指定。
- duration是测试持续时间,unit是单位。
- users段的maxnumber限制了生成的最大用户数。
- interarrival="0.02"表示0.02秒产生一个新用户,用户按照session的配置顺序执行session中的request。
- arrivalrate="2"表示每秒产生多少个新用户
options
<options>
<option type="ts_http" name=