Hi,
I'm trying to do benchmark testing on synapse using ApacheBench.
The test involves invoking 20,000 requests with various levels of
concurrency (1, 10, 50, 100, 200). This works fine when single thread
is making request. However attempts to test with higher levels of
concurrency, causes synapse to fail with the following error:
2007-11-07 17:54:35,065 [128.8.10.71-z.glue.umd.edu]
[HttpServerWorker-15] ERROR Axis2Sender Unexpected error during sending
message out
java.lang.IllegalStateException: I/O reactor has been shut down
at
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.connect(DefaultConnectingIOReactor.java:164)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:285)
at
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:208)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
at
org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:192)
at
org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:176)
at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at
org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:250)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:55)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:200)
at
org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:204)
at
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:159)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at
org.apache.synapse.transport.nhttp.ServerWorker.processPost(ServerWorker.java:218)
at
org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:182)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
The best I've tested so far is 1000 requests with concurrency level of
50. I tried tweaking the thread settings in synapse.properties file
without any luck. Has synapse been tested against handling large number
of concurrent requests? Any thoughts why I'm getting this error?
--
WIll
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]