Source

esbperformance / mule / README.TXT

Mule CE 3.3.0

Copy the content in the conf directory into the Mule conf directory

    $ cd ~/resources/esbperformance/mule
    $ cp conf/* {MULE_HOME}/conf/

e.g.
    $ cd ~/resources/esbperformance/mule
    $ cp conf/* /home/ubuntu/esbs/mule-standalone-3.3.0/conf/

For the WS-Security proxy we need a password callback class. To build it using Maven

    $ cd secure-proxy
    $ mvn clean install

After building it copy the generated artifact (secure-proxy-additional-1.0.jar) into the mule user libraries directory

    $ cp target/secure-proxy-additional-1.0.jar {MULE_HOME}/lib/user/

If you do not wish to rebulid this JAR, use the one we have shipped

    $ cp secure-proxy-additional-1.0.jar {MULE_HOME}/lib/user/

e.g.
    $ cp secure-proxy-additional-1.0.jar /home/ubuntu/esbs/mule-standalone-3.3.0/lib/user/

Finally copy the mule configuraiton into the default application configuration of Mule

    $ cp mule-config.xml {MULE_HOME}/apps/default/

e.g.
    $ cp mule-config.xml /home/ubuntu/esbs/mule-standalone-3.3.0/apps/default


Increase the Heap to 2G by editing {MULE_HOME}/conf/wrapper.conf to read as follows:

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=2048
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=2048

Edit {MULE_HOME}/conf/jetty.xml to increase thread pool sizes to read as follows:

        <Set name="minThreads">41</Set>
        <Set name="maxThreads">300</Set>

Edit the conf/log4j.properties file and add the following to turn off debug logs printed at INFO
    
    log4j.logger.org.mule.lifecycle=WARN


Now you are ready to start the Mule ESB server with all the performance scenarios. Start mule with the startup script.

    $ cd {MULE_HOME}
    $ bin/mule

** Note: Execute mule from the {MULE_HOME} directory

Before executing the load test, recreate the sample secure requests

    $ cd ~/client-scripts
    $ ./recreate-secure-requests.sh
    
    $ ./loadtest.sh http://localhost:8090/service > mule-3.3.0.txt


Service URLs
============

Direct Proxy
    url             : http://localhost:8090/service/DirectProxy
    wsdl-url        : http://localhost:8090/service/DirectProxy?wsdl

SOAP Body CBR Proxy
    url             : http://localhost:8090/service/CBRProxy
    wsdl-url        : http://localhost:8090/service/CBRProxy?wsdl

SOAP Header CBR Proxy
    url             : http://localhost:8090/service/CBRSOAPHeaderProxy
    wsdl-url        : http://localhost:8090/service/CBRSOAPHeaderProxy?wsdl

Transport Header CBR Proxy
    url             : http://localhost:8090/service/CBRTransportHeaderProxy
    wsdl-url        : http://localhost:8090/service/CBRTransportHeaderProxy?wsdl

XSLT Transformation Proxy
    url             : http://localhost:8090/service/XSLTProxy
    wsdl-url        : http://localhost:8090/service/XSLTProxy?wsdl

WS-Security Proxy
    url             : http://localhost:8090/service/SecureProxy
    wsdl-url        : http://localhost:8090/service/SecureProxy?wsdl

Note:
=====

While running the Mule test, we noticed that a tiny smoke test of a single request by a concurrency level of 1 passed, and wrote INFO level logs to the console. Subsequent runs of the same tiny test did not create console logs. However, when the concurrency and iterations were both increased to 10, Mule started generating lots of log entries at INFO level on the console, which we had to later turn off.

INFO  2012-08-02 13:40:52,751 [1443657750@qtp-524857970-31] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2012-08-02 13:40:52,751 [593224478@qtp-524857970-34] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2012-08-02 13:40:52,751 [1443657750@qtp-524857970-31] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO  2012-08-02 13:40:52,751 [593224478@qtp-524857970-34] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'HttpConnector.dispatcher.655601659'. Object is: HttpClientMessageDispatcher
INFO  2012-08-02 13:40:52,751 [1443657750@qtp-524857970-31] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2012-08-02 13:40:52,751 [593224478@qtp-524857970-34] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'HttpConnector.dispatcher.655601659'. Object is: HttpClientMessageDispatcher
INFO  2012-08-02 13:40:52,752 [1443657750@qtp-524857970-31] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'HttpConnector.dispatcher.1739432013'. Object is: HttpClientMessageDispatcher
INFO  2012-08-02 13:40:52,752 [1443657750@qtp-524857970-31] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'HttpConnector.dispatcher.1739432013'. Object is: HttpClientMessageDispatcher