J'essaie de tester les capacités du serveur Tigase XMPP 5.2.0. Je cours des tests avec tsung 1.4.2 pour atteindre 20K utilisateurs connectés (une fois 20K fonctionne, je vais essayer de le vérifier avec 150K). La tigase se bloque après 6000 connexions. Quelqu'un peut m'aider s'il vous plaît pour trouver le problème?Crash de serveur Tigase xmpp lors d'un test avec Tsung
Détails: Les paramètres du Tsung est: (12 connexion par seconde, 1666 s pour la connexion = 20K utilisateurs)
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="50000"></client>
</clients>
<!-- Server side setup -->
<servers>
<server host="server_ip" port="5222" type="tcp"></server>
</servers>
<load>
<arrivalphase phase="1" duration="2000" unit="minute">
<users interarrival="0.08" unit="second"></users>
</arrivalphase>
</load>
<!-- JABBER parameters -->
<!-- to synchronise users, use a global acknoledgement -->
<options>
<option type="ts_jabber" name="global_number" value="30000"></option>
<option type="ts_jabber" name="userid_max" value="20000"></option>
<option type="ts_jabber" name="domain" value="my_domain"></option>
<option type="ts_jabber" name="username" value="user"></option>
<option type="ts_jabber" name="passwd" value="pass"></option>
</options>
<sessions>
<session probability="100" name="jabber-example" 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="local"></jabber> </request>
<request> <jabber type="auth_set_plain" ack="local"></jabber> </request>
</transaction>
<request> <jabber type="presence:initial" ack="no_ack"/> </request>
<thinktime value="2"></thinktime>
<transaction name="roster">
<request> <jabber type="iq:roster:get" ack="local"></jabber></request>
</transaction>
<thinktime value="2"></thinktime>
<transaction name="online">
<request> <jabber type="chat" ack="no_ack" size="16" destination="online"></jabber> </request>
</transaction>
<thinktime value="1666"></thinktime>
<transaction name="close">
<request> <jabber type="close" ack="no_ack"></jabber> </request>
</transaction>
</session>
</sessions>
</tsung>
Dans le tigase les paramètres sont les suivants: (init.properties)
config-type=--gen-config-def
[email protected]_domain
--virt-hosts = my_domain
--user-db=mysql
--user-db-uri=jdbc:mysql://mysql_ip:3306/tigasedb?user=user&password=password&useUnicode=true&characterEncoding=UTF-8&autoCreateUser=true
tigase.conf:
ENC="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
DRV="-Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver"
#GC="-XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:ParallelCMSThreads=2 -XX:-ReduceInitialCardMarks"
#EX="-XX:+OptimizeStringConcat -XX:+DoEscapeAnalysis -XX:+UseNUMA"
JAVA_HOME="/usr/lib64/jvm/java-1.6.0-openjdk"
CLASSPATH=""
JAVA_OPTIONS="${GC} ${EX} ${ENC} ${DRV} -server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m "
TIGASE_CONFIG="etc/tigase.xml"
TIGASE_OPTIONS=" --property-file etc/init.properties "