测试工具准备:Tsung(测试),erlang(监听),gnuplot(图形)
测试环境在MAC OS下进行的。
1 Tsung安装
打开终端 输入 brew search tsung 如下图
搜到 tsung,然后 输入 brew install tsung,进行安装 如下图
(ps : 在用brew命令前,记得先 brew update下,我没有更新就被抗过)
接下来同样的方式安装 erlang 和 gnuplot
2 开始测试
配置tsung测试文件 jabber.xml,这个文件在 tsung安装目录的sample目录下有的,拿过来修改下即可,里面的配置参数 可以去官网(http://tsung.erlang-projects.org/user_manual/index.html)学习了解。
jabber.xml 代码配置如下:
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="10000"></client>
</clients>
<!-- Server side setup -->
<servers>
<server host="192.168.1.100" port="5222" type="tcp"></server>
</servers>
<load>
<arrivalphase phase="1" duration="3" unit="minute">
<users maxnumber="10000" interarrival="0.0125" unit="second"></users>
</arrivalphase>
</load>
<!-- JABBER parameters -->
<!-- to synchronise users, use a global acknoledgement -->
<options>
<option type="ts_jabber" name="global_number" value="100"></option>
<option type="ts_jabber" name="userid_max" value="10000"></option>
<option type="ts_jabber" name="domain" value="Tracy-PC"></option>
<option type="ts_jabber" name="username" value="admin"></option>
<option type="ts_jabber" name="passwd" value="tigase"></option>
</options>
<sessions>
<session probability="100" name="jabber-digest" type="ts_jabber">
<!-- 连接 -->
<request>
<jabber type="connect" ack="no_ack"></jabber>
</request>
<thinktime value="2"></thinktime>
<!-- 注册 -->
<request>
<match do="abort" when="match">error</match>
<jabber type="register" ack="local" id="new"></jabber>
</request>
<!-- 认证 -->
<transaction name="authenticate">
<request>
<jabber type="auth_get" ack="local"></jabber>
</request>
<request>
<jabber type="auth_set_plain" ack="local"></jabber>
</request>
</transaction>
<!-- 登录后持续300秒 -->
<request>
<jabber type="presence:initial" ack="no_ack" />
</request>
<thinktime value="600"></thinktime>
<!-- 关闭 -->
<request>
<jabber type="close" ack="no_ack"></jabber>
</request>
</session>
</sessions>
</tsung>
这里的 192.168.1.100 就是tigase的服务器地址。
3 在终端 cd 到jabber.xml所在目录, 再输入tsung -f jabber.xml start 进行测试,会一直在如下图的状态
这时个可以去服务端 打开 jdk的工具 jvisualvm.exe 服务端状态监控状态,如下图所示
就等测试进程结束后
在终端输入 /usr/local/lib/tsung/bin/tsung_stats.pl --stats ~/.tsung/log/20171209-1030/tsung.log生成测试报告如下图