Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Потоки зависают на socketWrite0 к фронтенд HTTP


Автор: Barvetal 5.2.2008, 11:04
Всем привет!

Ситуация такая - есть сайт, работающий на tomcat. Впереди перед tomcat стоит Apache HTTP Server.

Периодически страницы формируются долго, и клиенты их ждут по несколько минут! Такие потоки висят в manager/status томкет сервера. Если сделать дамп таких потоков, то видно, что поток завис на операции socketWrite0 к впереди стоящему Apache HTTP Server. Дамп имеет следующий вид:

Цитата

"http-8080-Processor975(http://tom.office.liga.net:8080/jetspeed/portal/siteNews/news/content.psml?id=N0805030)" daemon prio=10 tid=0x00002aab8eaadc00 nid=0x6d3b runnable [0x0000000068aaf000..0x0000000068ab0ba0]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:746)
    at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:433)
    at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:304)
    at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:991)
    at org.apache.coyote.Response.action(Response.java:182)
    at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:322)
    at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293)
    at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:97)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
    - locked <0x00002aab4a331918> (a java.io.BufferedOutputStream)
    at net.sf.ehcache.constructs.web.filter.CachingFilter.writeContent(CachingFilter.java:370)
    at net.sf.ehcache.constructs.web.filter.CachingFilter.writeResponse(CachingFilter.java:239)
    at net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java:142)
    at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at net.liga.commons.filter.UrlToThreadNameFilter.doFilter(UrlToThreadNameFilter.java:48)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619) 


Скажите, пожалуйста, что происходит, как можно дальше диагностировать проблему, и как устранить эту проблему?

Заранее огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)