AnsweredAssumed Answered

Openfire 3.7.1 testing with Tsung - Need Help

Question asked by rakeshrd84 on Aug 13, 2012
Latest reply on Aug 13, 2012 by Dele Olajide

Hi,

 

I am running Openfire 3.7.1 instance on a single machine with the following configuration

8GB RAM, 500Gig hard drive; I would need to load test the openfire server for number of

concurrent users. I got to know about Tsung when i searched through the forums.

 

I am unable to find a solution w.r.t Tsung.xml files to simulate the tests. Also how to get

the graphical reports?

I'm also evaluating the Open clustering plugin following which i would need to load test

the server again with multiple nodes.

I have to get Tsung right for one instance so that i can test it for multiple nodes

 

I'm running Openfire on Centos 6.2, trying to test using Tsung on :Ubuntu 11.10 as installation on

Centos was cumbersome. My Tsung.xml

******************************************************************************** ************************************************

<?xml version="1.0"?><tsung loglevel="notice" dumptraffic="true" version="1.0">

 

  <clients>

    <client host="localhost" use_controller_vm="true"/>

  </clients>

 

  <servers>

  <server host=" " port="5222" type="tcp"/>

</servers>

 

  <load>

   <arrivalphase phase="1" duration="10" unit="minute">

    <users maxnumber="15000" arrivalrate="1" unit="second"/>

   </arrivalphase>

 

  <arrivalphase phase="2" duration="10" unit="minute">

    <users maxnumber="20000" arrivalrate="2" unit="second"/>

   </arrivalphase>

 

   <arrivalphase phase="3" duration="10" unit="minute">

    <users maxnumber="50000" arrivalrate="3" unit="second"/>

   </arrivalphase>

</load>

 

  <options>

  <option type="ts_jabber" name="global_number" value="100000"/>

  <option type="ts_jabber" name="userid_max" value="100000"/>

  <option type="ts_jabber" name="domain" value=" "/>

  <option type="ts_jabber" name="username" value="www"/>

  <option type="ts_jabber" name="passwd" value=" "/>

</options>

 

<sessions>

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

        <request>

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

       </request>

 

        <transaction name="auth_plain">

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

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

        </transaction>

        <thinktime value="2"/>

 

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

        <thinktime value="2"/> 

           <for from="1" to="5" var="j"> <thinktime value="2"/>

                     <request>

                           <jabber type="presence:broadcast" show="chat" status="Available" ack="no_ack"/>

                     </request>

 

                     <transaction name="roster">

                            <request> <jabber type="iq:roster:get" ack="local"/></request>

                     </transaction>

                     <thinktime min="200" max="300" random="true"/>

 

 

                      <for from="1" to="10" var="k">

                               <transaction name="chat">

                                        <request>

                                                <jabber type="chat" ack="no_ack" size="128" destination="online"/>

                                         </request>

                               </transaction>

                               <thinktime min="15" max="45" random="true"/>

                     </for>

                     <transaction name="roster">

                            <request> <jabber type="iq:roster:get" ack="local"/></request>

                     </transaction>

 

                     <for from="1" to="3" var="i"> <request>

                                      <jabber type="presence:broadcast" show="away" status="Away" ack="no_ack"/>

                                </request>

                                <thinktime min="300" max="400" random="true"/>

 

                                <request>

                                     <jabber type="presence:broadcast" show="chat" status="Available" ack="no_ack"/>

                                </request>

                                <thinktime min="300" max="400" random="true"/>

 

                                <request>

                                       <jabber type="presence:broadcast" show="away" status="Away" ack="no_ack"/>

                                </request>

                                <thinktime min="300" max="400" random="true"/>

                      </for>

         </for>

 

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

         <thinktime value="2"/> 

 

         <request>

               <jabber type="close" ack="local"/>

         </request>

 

     </session>

</sessions>

</tsung>

******************************************************************************** ****************************************************************

 

Warm Regards,

Rakesh Doddamani

Outcomes