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.