on most OS:es there is a single lock for accepting new connections, so a better default is 1 for acceptor thread count. there is no performance gain in multiple threads, none that I was ever able to detect. Filip
On 5/12/2011 2:32 AM, bugzi...@apache.org wrote:
https://issues.apache.org/bugzilla/show_bug.cgi?id=51189 Bug #: 51189 Summary: Acceptor threads are blocked Product: Tomcat 7 Version: 7.0.11 Platform: All OS/Version: Linux Status: NEW Severity: blocker Priority: P2 Component: Connectors AssignedTo: dev@tomcat.apache.org ReportedBy: helinxi...@gmail.com Classification: Unclassified Hi, I deployed an web application on tomcat 7.0.11, it got acceptor threads blocked when it ran two weeks, and the mysql connections weren't released, I guess they are the same problem. I don't whether it is a bug of JIoEndpoint. Thanks a lot. EastMountain Thread dump below: ""http-bio-8080"-Acceptor-3" daemon prio=10 tid=0x00002aaab4148000 nid=0x141d waiting for monitor entry [0x00000000419ac000] java.lang.Thread.State: BLOCKED (on object monitor) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388) - waiting to lock<0x00002abd72beb518> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:59) at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:211) at java.lang.Thread.run(Thread.java:619) ""http-bio-8080"-Acceptor-2" daemon prio=10 tid=0x00002aaab4898800 nid=0x141c runnable [0x00000000411af000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) - locked<0x00002abd72beb518> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:59) at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:211) at java.lang.Thread.run(Thread.java:619) ""http-bio-8080"-Acceptor-1" daemon prio=10 tid=0x00002aaab45a4800 nid=0x141b waiting for monitor entry [0x0000000041930000] java.lang.Thread.State: BLOCKED (on object monitor) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388) - waiting to lock<0x00002abd72beb518> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:59) at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:211) at java.lang.Thread.run(Thread.java:619) ""http-bio-8080"-Acceptor-0" daemon prio=10 tid=0x00002aaab48a7800 nid=0x141a waiting for monitor entry [0x000000004116e000] java.lang.Thread.State: BLOCKED (on object monitor) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388) - waiting to lock<0x00002abd72beb518> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:59) at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:211) at java.lang.Thread.run(Thread.java:619)
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org