I was looking for a way to increase performance, because it seems the server is topped off at around 100 request per seconds. Searching for information about keep alive seem not be so easy. But at the end, I get it to work by doing this:


1) Download the commons-httpclient at apache.org
2) Add the httpclient's jar to class path
3) Create client-config.wsdd in the client's root directory, and its content is:


<?xml version="1.0" encoding="UTF-8"?>

<deployment name="commonsHTTPConfig"
xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
<transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender" />
<transport name="local" pivot = "java:org.apache.axis.transport.local.LocalSender" />
<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender" />
</deployment>


4) Run the client with this command line argument:

-Daxis.ClientConfigFile=client-config.wsdd

Step 4 does not seem to be needed (but was recommended) because without it, it still seems to work. (To disable this, I remove the library, and also rename the file client-config.wsdd)

All good and well. BUT: to my surprised, the performance instead of increased, it actually 100% slower in my test. I use a sort of Tcp Monitor to see the number of connections and indeed, it reduce the number of connection down to 1, but somehow it's much slower than multiple connections.

The test was using a single client, calling the server 1000 times sequentially (one after another).

Does anyone have any idea about why this is so?








Reply via email to