hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tobias Bieniek <Tobias.Bien...@gmx.de>
Subject Re: High server load due to SessionOutputBufferImpl.flush()
Date Wed, 10 Sep 2014 13:16:16 GMT
> Whats the version of JDK you use, and do you use zero-copy?

$ java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-1)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

and as far as I know we don't use zero-copy anywhere.

> Can you get a thread dump at about 5 second intervals and share it

this is how most of the I/O dispatcher threads are looking like:

"I/O dispatcher 1" - Thread t@26
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:89)
    at sun.nio.ch.IOUtil.write(IOUtil.java:60)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:450)
    - locked <480a8d49> (a java.lang.Object)
    at org.apache.http.impl.nio.reactor.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:167)
    at org.apache.http.impl.nio.DefaultNHttpServerConnection.produceOutput(DefaultNHttpServerConnection.java:315)
    at org.apache.http.impl.nio.DefaultHttpServerIODispatch.onOutputReady(DefaultHttpServerIODispatch.java:162)
    at org.apache.http.impl.nio.DefaultHttpServerIODispatch.onOutputReady(DefaultHttpServerIODispatch.java:51)
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.outputReady(AbstractIODispatch.java:143)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:180)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:584)
    at java.lang.Thread.run(Thread.java:722)

> Can you add those (or similar) classes to your test project [1] and
> reproduce the problem with I/O session logging turned on?

I will have a look into that and get back to you. Unfortunately we
haven't been able to reproduce this behavior locally yet, but maybe we
can use that on the production servers temporarily.

Thanks for the quick responses!

Tobias

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


Mime
View raw message