天天看点

Tigase即时通信组件性能测试(Tsung测试工具)

 测试工具准备:Tsung(测试),erlang(监听),gnuplot(图形)

 测试环境在MAC OS下进行的。

1 Tsung安装

    打开终端 输入 brew search tsung 如下图

Tigase即时通信组件性能测试(Tsung测试工具)

搜到 tsung,然后 输入 brew install tsung,进行安装 如下图

Tigase即时通信组件性能测试(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 进行测试,会一直在如下图的状态

Tigase即时通信组件性能测试(Tsung测试工具)

这时个可以去服务端 打开 jdk的工具 jvisualvm.exe 服务端状态监控状态,如下图所示

Tigase即时通信组件性能测试(Tsung测试工具)

就等测试进程结束后

在终端输入 /usr/local/lib/tsung/bin/tsung_stats.pl --stats ~/.tsung/log/20171209-1030/tsung.log生成测试报告如下图

Tigase即时通信组件性能测试(Tsung测试工具)
Tigase即时通信组件性能测试(Tsung测试工具)

继续阅读