使用Tsuang 对TCP服务器进行高并发压力测试●记录

安装 Tsuang 

参考:CentOS 7 系统 Erlang/OTP 22.0 源码安装Tsung教程

编写配置文件

配置文件:raw.xml

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/root/kerl/22.0/share/tsung/tsung-1.0.dtd">
<tsung loglevel="debug" dumptraffic="true" version="1.0">

  <clients>
    <!-- 单线程允许的最大连接数:10000,系统默认单线程允许的最大连接数是1024,当用户数大于限制时,将启动新的erlang虚拟机来处理新用户。 -->
    <client host="localhost" weight="2" maxusers="10000" use_controller_vm="true"/>
  </clients>

  <servers>
    <server host="localhost" port="60001" type="tcp"></server>
  </servers>

  <load>
    <!-- 第 0 个十分钟,每2秒钟创建1个新用户 -->
    <arrivalphase phase="0" duration="10" unit="minute">
      <users interarrival="2" unit="second"></users>
    </arrivalphase>
    <!-- 第 1 个十分钟,每秒钟创建1个新用户 -->
    <arrivalphase phase="1" duration="10" unit="minute">
      <users arrivalrate="1" unit="second"></users>
    </arrivalphase>
    <!-- 第 2 个十分钟,每秒钟创建10个新用户 -->
    <arrivalphase phase="2" duration="10" unit="minute">
      <users arrivalrate="10" unit="second"></users>
    </arrivalphase>
    <!-- 第 3 个十分钟,每秒钟创建50个新用户,最多创建10000个用户 -->
    <arrivalphase phase="3" duration="10" unit="minute">
      <users maxnumber="10000" arrivalrate="50" unit="second"></users>
    </arrivalphase>
    <!-- 所有用户都结束会话后,测试将结束。 -->
  </load>

  <options>
    <!-- 指定建立TCP连接的超时时间(以毫秒为单位)。默认是无穷大 -->
    <option name="connect_timeout" value="5000" />
    <!-- 定义可用客户端端口的范围 -->
    <option name="ports_range" min="1025" max="65535"/>
  </options>


  <!-- 会话定义方案本身的内容。它们描述了要执行的请求。 -->
  <sessions>
   <session probability="100" name="raw" type="ts_raw">

    <transaction name="open">
      <request> <raw data="HELO" ack="local"></raw> </request>
    </transaction>

    <thinktime value="4"/>

    <transaction name="data">
      <request> <raw data="foo bar" ack="local"></raw> </request>
    </transaction>

    <thinktime value="4"/>

    <transaction name="close">
      <request> <raw data="stopstopstop" ack="local"></raw> </request>
    </transaction>

  </session>
</sessions>
</tsung>

启动测试

 tsung -f /mnt/h/ErlangWorkSpace/GitHub/tsung_test/test/raw.xml -l /mnt/h/ErlangWorkSpace/GitHub/tsung_test/ start

查看测试报告

http://127.0.0.1:8091/

up-2ee01f86bbec62b0d730888c8941194f127.png

up-bfc74db16c58d115266880af47e7c7ee1b0.png

up-578081eb2ccf2ed962c6eab0a195a00755d.png

参考

http://tsung.erlang-projects.org/user_manual/configuration.html

http://tsung.erlang-projects.org/user_manual/conf-sessions.html#raw

https://github.com/processone/tsung/issues/115

https://github.com/processone/tsung/commit/36a718262b25921b62b00d16b2577f32a4bb8d29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SummerGao.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值