我在本地计算机上使用tsung测试ejabberd服务器。这是我的配置文件。一切正常工作和运行正确。

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
  <clients>
    <client host="localhost" maxusers="28000" use_controller_vm="true">
    </client>
  </clients>

<servers>
   <server host='127.0.0.1' port='5222' type='tcp'/>
</servers>

<monitoring>
          <monitor host="localhost" type="erlang"/>
  </monitoring>

<!-- register 15000 users in less than 15 minutes  -->
<load>
  <arrivalphase phase="1" duration="5" unit="minute">
    <users maxnumber="15000" interarrival="0.0025" unit="second"></users>
  </arrivalphase>
  </load>

<options>
  <option type="ts_jabber" name="global_number" value="15000"></option>
  <option type="ts_jabber" name="userid_max" value="15000"></option>
  <option type="ts_jabber" name="domain" value="localhost"></option>
  <option type="ts_jabber" name="username" value="test"></option>
  <option type="ts_jabber" name="passwd" value="password"></option>
</options>

<sessions>
  <session probability="100" name="jabber-example" type="ts_jabber">

       <request> <jabber type="connect" ack="global"></jabber> </request>

    <thinktime value="2"></thinktime>

    <transaction name="authenticate">
      <request> <jabber type="auth_get" ack="global"></jabber> </request>
      <request> <jabber type="auth_set_plain" ack="global"></jabber> </request>
    </transaction>

    <thinktime value="10"></thinktime>

    <request> <jabber type="presence:initial" ack="no_ack"/> </request>

    <thinktime value="30"></thinktime>

    <transaction name="online">
      <request> <jabber type="chat" ack="global" size="16" destination="online"/></request>
    </transaction>

    <thinktime value="30"></thinktime>

    <transaction name="close">
      <request> <jabber type="close" ack="local"> </jabber></request>
    </transaction>

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

结果:

在这里,您可以看到有同时用户和连接。 但是,当我在ejabberd控制台看时,绝对没有在线连接。

有帮助吗?

解决方案

我想到了解决方案:

<session probability="100" name="sasl" type="ts_jabber">
    <request> <jabber type="connect" ack="local"></jabber> </request>

   <thinktime value="10"></thinktime>

   <transaction name="authenticate">
    <request>
      <jabber type="auth_sasl" ack="local"></jabber></request>

    <request>
      <jabber type="connect" ack="local"></jabber> </request>

   <request>
      <jabber type="auth_sasl_bind" ack="local" ></jabber></request>
   <request>
      <jabber type="auth_sasl_session" ack="local" ></jabber></request>

   </transaction>
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top