Hi, I hope you can help me analyzing this problem:

I am using Tomcat6 6.0.32-5ubuntu1.1 together with Axis2 1.6.1

I am not sure if it is an Axis2 problem or a Tomcat-problem.

I have an client-application for test-purposes which runs inside the Eclipse-IDE. The problem only occurs when running Axis2 inside Tomcat6, when running in Axis2 as stand-alone server, it runs better.

What I do is posting arrays of strings (about 50 elements, about 5Kb max) to an webservice-call. After some validation, the webservice posts the data to a postgresql database.

I have some console-output to see how long it takes.

storing.....  Person:26, ID:27
Creating EHR for:213d7c09-949c-4757-a91d-da5510215472
GUIDs saved to table:213d7c09-949c-4757-a91d-da5510215472, 73b60dd4-d745-4267-9c6f-fc8b067bfeb9
stored.....  Person:26, UID:213d7c09-949c-4757-a91d-da5510215472
PT0.647S

As you can see, it starts with less then a second, sometime 0.3 seconds, sometimes 1.1 second, depending on the number of elements in the array to store.

After 1000 persons stored, it takes 4 seconds

storing.....  Person:998, ID:989
Creating EHR for:49c96d87-38db-491d-a824-78800615e80a
GUIDs saved to table:49c96d87-38db-491d-a824-78800615e80a, 3554514f-ccb6-40dd-92f2-d9140760870e
stored.....  Person:998, UID:49c96d87-38db-491d-a824-78800615e80a
PT4.147S

When running in Axis2 standalone, it stays about 4 seconds until 8000 persons stored (which is the complete group to store) This is slow, I must investigate the library directly without webservice if that is a problem of my coding. So we forget that for the moment.

The problem which bothers me is when I am using Tomcat.

The problem start to occur after posting 1200 patients, it takes 8 seconds. When it reaches 1300, it already takes 17 seconds. When at Person 1330, it is already 29 seconds, and at 1340 it is 39 seconds, and than a few persons more and a time-out exception occurs.

I receive a java.net.SocketTimeoutException: Read timed out from the client side-code. The default time-out time for Axis2-code is 40 seconds.
The printstacktrace is below, but it is client side stacktrace

I try a lot of things to solve the problem. I put a Thread.sleep(1000); in my client-code between to postings, I thought, maybe the webservice needs some rest to do garbage-clean up. Because it looks very much like a memory blowing up. But it didn't help.

Of course, if you need any information, I will be happy to provide it, please give some hints how to provide it

---
Kind regards and much thanks
Bert Verhees

---

I don't know if it is of any help, but I put the exception-trace below

14.01.2012 13:33:52 INFO (HTTPSender.java:196) - Unable to sendViaPost to url[http://localhost:8080/axis2/services/DemographicService/]
java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:146)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973) at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at openehr.rosa.demographicservice.DemographicServiceStub.saveDemographicNew(DemographicServiceStub.java:2668)
    at nl.rosa.persons.StorePersons.storePerson(StorePersons.java:77)
    at nl.rosa.persons.StorePersons.storePersons(StorePersons.java:49)
    at run.FillDatabase.main(FillDatabase.java:35)
org.apache.axis2.AxisFault: Read timed out
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at openehr.rosa.demographicservice.DemographicServiceStub.saveDemographicNew(DemographicServiceStub.java:2668)
    at nl.rosa.persons.StorePersons.storePerson(StorePersons.java:77)
    at nl.rosa.persons.StorePersons.storePersons(StorePersons.java:49)
    at run.FillDatabase.main(FillDatabase.java:35)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:146)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973) at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
    ... 11 more
Exception in thread "main" org.apache.axis2.AxisFault: Read timed out
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at openehr.rosa.demographicservice.DemographicServiceStub.saveDemographicNew(DemographicServiceStub.java:2668)
    at nl.rosa.persons.StorePersons.storePerson(StorePersons.java:77)
    at nl.rosa.persons.StorePersons.storePersons(StorePersons.java:49)
    at run.FillDatabase.main(FillDatabase.java:35)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:146)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973) at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
    ... 11 more






---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to