I have not run exactly the same test as you, but I have not experienced the
sort of problems you report.  If you would post the code for your test
client and service, I would be willing to try it with my configuration.  If
I do not have the same problems, then perhaps we can narrow down the
particular aspect of the configuration that is causing the errors.  If I do
have the same problems, I can repeat the test with a different servlet
container to see whether Tomcat is the cause.

Scott

----- Original Message -----
From: "siddharth aggarwal" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, September 19, 2001 3:10 AM
Subject: performance of apache SOAP


Hi,
 I was trying to test the performance of APACHE soap on windows NT 4.0
I wrote a simple service application which adds two numbers. The service is
deployed with tomcat engine.

The client creates a large number of threads and each thread builds its own
call object and sends two numbers to the server to add.

The results which I got were highly unreliable.

With 500 threads spawned at the client, I got the following error at the
server terminal-->

>>(Wed Sep 19 12:16:41 GMT+05:30 2001) Processing SOAP request...
java.net.SocketException: Connection reset by peer: JVM_recv in s
eam read
        at java.net.SocketInputStream.socketRead(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java
        at org.apache.tomcat.service.http.HttpRequestAdapter.doRe
dapter.java:104)
        at org.apache.tomcat.core.BufferedServletInputStream.doRe
letInputStream.java:111)
        at org.apache.tomcat.core.BufferedServletInputStream.read
tInputStream.java:144)
        at org.apache.tomcat.core.BufferedServletInputStream.read
tInputStream.java:133)
        at java.io.InputStreamReader.fill(InputStreamReader.java:
        at java.io.InputStreamReader.read(InputStreamReader.java:
        at java.io.BufferedReader.fill(BufferedReader.java:139)
        at java.io.BufferedReader.read1(BufferedReader.java:187)
        at java.io.BufferedReader.read(BufferedReader.java:261)
        at org.apache.soap.server.http.RPCRouterServlet.doPost(RP
java:165)
        at javax.servlet.http.HttpServlet.service(HttpServlet.jav
        at javax.servlet.http.HttpServlet.service(HttpServlet.jav
        at org.apache.tomcat.core.ServletWrapper.handleRequest(Se
va:503)
        at org.apache.tomcat.core.ServletWrapper.handleRequest(Se
va:597)
        at org.apache.tomcat.servlets.InvokerServlet.service(Invo
:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.jav
        at org.apache.tomcat.core.ServletWrapper.handleRequest(Se
va:503)
        at org.apache.tomcat.core.ContextManager.service(ContextM
)
        at org.apache.tomcat.service.http.HttpConnectionHandler.p
n(HttpConnectionHandler.java:160)
        at org.apache.tomcat.service.TcpConnectionThread.run(Simp
ava:338)
        at java.lang.Thread.run(Thread.java:484)
>>(Wed Sep 19 12:16:41 GMT+05:30 2001) Processing SOAP request...
>>(Wed Sep 19 12:16:41 GMT+05:30 2001) Processing SOAP request...

.............and so on

And at the client the error message was-->

Caught SOAPException (SOAP-ENV:Client): error opening socket: Connection
refused
: no further information

When I spawned only 50 threads at the client, I got 23 results (for 23
threads the numbers were added) after which it gave the same error as in
case of 500 threads.

Is this a performance bottleneck in apache soap. i.e. it will not handle
more than 20-25 requests at a time.

please advise.
regards
siddharth.









Reply via email to