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

試著忘記壹切 提交于 2021-01-22 15:08:48

安装 Tsuang 

参考:CentOS 7 系统 Erlang/OTP 20.3 Tsung 1.7.0 安装部署教程

编写配置文件

配置文件: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>
    <!-- 单线程允许的最大连接数:100000,系统默认单线程允许的最大连接数是1024,当用户数大于限制时,将启动新的erlang虚拟机来处理新用户。 -->
    <client host="localhost" weight="2" maxusers="30000" 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/

参考

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!