Tsung.와 함께 Ejabberd에서 온라인 사용자 시뮬레이션
문제
로컬 컴퓨터에서 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>
. 제휴하지 않습니다 StackOverflow