2 Replies Latest reply on Aug 13, 2012 11:31 AM by Dele Olajide

    Openfire 3.7.1 testing with Tsung - Need Help

      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