synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera" <asan...@wso2.com>
Subject Re: Intermittent IO Errors using Synapse
Date Wed, 21 Mar 2007 11:23:41 GMT
Ant

This sounds interesting.. but I am also guessing this is on Windows? 
Usually before I run a load test I do these optimizations for the 
underlying TCP stack - these are common stuff usually suggested for many 
applications.

echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo 2097152 > /proc/sys/fs/file-max
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
ulimit unlimited

Any possibility for you to try this on Unix if its already on Windows? I 
load tested the nhttp transport using apache bench sometime back and I 
fixed the issues I encountered. I do not think I did any major 
modifications to the code from then onwards - however I will try it once 
again to make sure. Is it possible for you to also turn on DEBUG logging 
for the nhttp transport through the lib/log4j.properties file and if 
possible share the jmeter script with me or tell me what it does?

thanks
asankha


ant elder wrote:
> I've been trying to use JMeter to test Synapse but getting 
> intermittent failures, see below for the stack trace output. Happens 
> all the time, maybe a few hundred requests are successful but then it 
> gets the failure and hangs. I'm not sure whats the easiest way to 
> debug this is, any ideas?
>
>    ...ant
>
> [I/O reactor worker thread 5] ERROR ServerHandler - Error processing 
> request received for : /axis2/services/SimpleStockQuoteService
> java.io.IOException: Unable to establish loopback connection
>         at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:106)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
>         at sun.nio.ch.SelectorProviderImpl.openPipe 
> (SelectorProviderImpl.java:27)
>         at java.nio.channels.Pipe.open(Pipe.java:133)
>         at 
> org.apache.axis2.transport.nhttp.ServerHandler.requestReceived(ServerHandler.java:108)
>         at 
> org.apache.axis2.transport.nhttp.LoggingNHttpServiceHandler.requestReceived 
> (LoggingNHttpServiceHandler.java:79)
>         at 
> org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:96)
>         at 
> org.apache.axis2.transport.nhttp.PlainServerIOEventDispatch.inputReady 
> (PlainServerIOEventDispatch.java:67)
>         at 
> org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:68)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java

> :160)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:145)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:127)
>         at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:153)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.net.BindException: Address already in use: connect
>         at sun.nio.ch.Net.connect(Native Method)
>         at 
> sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464)
>         at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
>         at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:78)
>         ... 14 more
> [I/O reactor worker thread 5] ERROR ServerHandler - I/O Error : null
> java.nio.channels.ClosedChannelException
>         at sun.nio.ch.SocketChannelImpl.ensureReadOpen 
> (SocketChannelImpl.java:112)
>         at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:139)
>         at 
> org.apache.axis2.transport.nhttp.LoggingIOSession$LoggingByteChannel.read(LoggingIOSession.java:153)
>         at 
> org.apache.http.impl.nio.reactor.SessionInputBuffer.fill(SessionInputBuffer.java:75)
>         at 
> org.apache.http.impl.nio.codecs.ChunkDecoder.read(ChunkDecoder.java:157)
>         at org.apache.axis2.transport.nhttp.ServerHandler.inputReady 
> (ServerHandler.java:150)
>         at 
> org.apache.axis2.transport.nhttp.LoggingNHttpServiceHandler.inputReady(LoggingNHttpServiceHandler.java:103)
>         at 
> org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput 
> (DefaultNHttpServerConnection.java:108)
>         at 
> org.apache.axis2.transport.nhttp.PlainServerIOEventDispatch.inputReady(PlainServerIOEventDispatch.java:67)
>         at org.apache.http.impl.nio.reactor.BaseIOReactor.readable 
> (BaseIOReactor.java:68)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:160)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java

> :145)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:127)
>         at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java

> :153)
>         at java.lang.Thread.run(Thread.java:595)
> [I/O reactor worker thread 5] WARN  ServerHandler - Connection Timeout 
> for request to : /axis2/services/SimpleStockQuoteService
> [I/O reactor worker thread 5] ERROR ServerHandler - Error processing 
> request received for : /axis2/services/SimpleStockQuoteService
> java.io.IOException: Unable to establish loopback connection
>         at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:106)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
>         at 
> sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:27)
>         at java.nio.channels.Pipe.open(Pipe.java:133)
>         at 
> org.apache.axis2.transport.nhttp.ServerHandler.requestReceived 
> (ServerHandler.java:108)
>         at 
> org.apache.axis2.transport.nhttp.LoggingNHttpServiceHandler.requestReceived(LoggingNHttpServiceHandler.java:79)
>         at 
> org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput 
> (DefaultNHttpServerConnection.java:96)
>         at 
> org.apache.axis2.transport.nhttp.PlainServerIOEventDispatch.inputReady(PlainServerIOEventDispatch.java:67)
>         at org.apache.http.impl.nio.reactor.BaseIOReactor.readable 
> (BaseIOReactor.java:68)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:160)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java

> :145)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:127)
>         at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java

> :153)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.net.BindException: Address already in use: connect
>         at sun.nio.ch.Net.connect(Native Method)
>         at sun.nio.ch.SocketChannelImpl.connect 
> (SocketChannelImpl.java:464)
>         at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
>         at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:78)
>         ... 14 more
> [I/O reactor worker thread 5] ERROR ServerHandler - I/O Error : null
> java.nio.channels.ClosedChannelException
>         at 
> sun.nio.ch.SocketChannelImpl.ensureReadOpen(SocketChannelImpl.java:112)
>         at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:139)
>         at 
> org.apache.axis2.transport.nhttp.LoggingIOSession$LoggingByteChannel.read(LoggingIOSession.java:153)
>         at 
> org.apache.http.impl.nio.reactor.SessionInputBuffer.fill(SessionInputBuffer.java:75)
>         at org.apache.http.impl.nio.codecs.ChunkDecoder.read 
> (ChunkDecoder.java:157)
>         at 
> org.apache.axis2.transport.nhttp.ServerHandler.inputReady(ServerHandler.java:150)
>         at 
> org.apache.axis2.transport.nhttp.LoggingNHttpServiceHandler.inputReady(LoggingNHttpServiceHandler.java

> :103)
>         at 
> org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:108)
>         at 
> org.apache.axis2.transport.nhttp.PlainServerIOEventDispatch.inputReady(PlainServerIOEventDispatch.java

> :67)
>         at 
> org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:68)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:160)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents 
> (AbstractIOReactor.java:145)
>         at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:127)
>         at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java

> :153)
>         at java.lang.Thread.run(Thread.java:595)
> [I/O reactor worker thread 7] WARN  ServerHandler - Connection Timeout 
> for request to : /axis2/services/SimpleStockQuoteService
> [I/O reactor worker thread 5] WARN  ServerHandler - Connection Timeout 
> for request to : /axis2/services/SimpleStockQuoteService
> Terminate batch job (Y/N)? y 

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org


Mime
View raw message