I am simply trying to get the most basic of load tests working on my ejabberd instance. I want to run a tsung client (1.4.2) against ejabberd 2.1.8. I don't care what type of ssl auth I have going on...I simply want to get my first load test running. I believe my current problem is auth + ssl configuration issues. I have created users test_1-test_1000 with passwords test_1-test_1000
My ejabberd.cfg script has
{loglevel, 5}.
{hosts, ["tsung"]}.
{listen,
[
{5222, ejabberd_c2s, [
{certfile, "/opt/ecs/ejabberd-2.1.8/conf/server.pem"},
{access, c2s}
]},
{5280, ejabberd_http, [
{request_handlers, [
{["rest"], mod_rest},
{["monitor"], mod_monitor_web}
]},
web_admin
]}
]}.
I have also tried it with
{5222, ejabberd_c2s, [
{certfile, "/opt/ecs/ejabberd-2.1.8/conf/server.pem"},
{access, c2s},
tls
]},
and
{5222, ejabberd_c2s, [
{certfile, "/opt/ecs/ejabberd-2.1.8/conf/server.pem"},
{access, c2s},
starttls
]},
and
{5222, ejabberd_c2s, [
{certfile, "/opt/ecs/ejabberd-2.1.8/conf/server.pem"},
{access, c2s},
starttls_required
]},
The script I'm running is very simple (tsung xml):
<tsung loglevel="notice" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true"></client>
</clients>
<servers>
<server host="localhost" port="5222" type="tcp"></server>
</servers>
<load>
<arrivalphase phase="1" duration="3" unit="minute">
<users interarrival="1" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="100"></option>
<option type="ts_jabber" name="userid_max" value="1000"></option>
<option type="ts_jabber" name="domain" value="tsung"></option>
<option type="ts_jabber" name="username" value="zach"></option>
<option type="ts_jabber" name="passwd" value="zach"></option>
</options>
<sessions>
<session probability="100" name="xmpp-connection" type="ts_jabber">
<request>
<jabber type="connect" ack="no_ack"></jabber>
</request>
<thinktime value="2"></thinktime>
<transaction name="authenticate">
<request> <jabber type="auth_get" ack="no_ack"></jabber> </request>
<request> <jabber type="auth_set_plain" ack="no_ack"></jabber> </request>
</transaction>
<thinktime value="30"></thinktime>
<transaction name="close">
<request> <jabber type="close" ack="no_ack"></jabber> </request>
</transaction>
</session>
</sessions>
</tsung>
I see lots of port activity and established connections when I run
netstat -an | grep 5222
but when running
./ejabberdctl connected_users
there are never ANY connected users.
I have tried the following types in tsung:
<server host="localhost" port="5222" type="tcp"></server>
<!-- OR -->
<server host="localhost" port="5222" type="ssl"></server>
I've poured over documentation, and asked questions at the Tsung mailing list:
I have received responses that TLS isn't supported. So fine, how do I turn off tls in ejabberd and make Tsung work for ejabberd at all? There are tons of people talking about having done it, but nobody has posted an ejabberd.ctl with a corresponding jabber-tsung.xml. Any and all help here would be greatly appreciated!!!