You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2008/05/13 16:38:24 UTC
DO NOT REPLY [Bug 44989] New: using NIO connector with compression
consumes all CPU
https://issues.apache.org/bugzilla/show_bug.cgi?id=44989
Summary: using NIO connector with compression consumes all CPU
Product: Tomcat 6
Version: 6.0.16
Platform: PC
OS/Version: Linux
Status: NEW
Severity: critical
Priority: P1
Component: Connectors
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: clovis.wichoski@gmail.com
Created an attachment (id=21957)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=21957)
JConsole overview
Hi, i migrated from version 6.0.14 to version 6.0.16, and configured tomcat to
use NIO connector and compression on, with that i'm getting a thread name
'http-exec-80-2' that consumes 49-50% of CPU, and the thread
'http-80-ClientPoller' that consumes 46-48% of CPU, with this i have a jvm that
consumes 100% o my CPU.
uname -a output:
Linux 2.6.23.1-10.fc7 #1 SMP Fri Oct 19 15:39:08 EDT 2007 i686 i686 i386
GNU/Linux
java -version output:
java version "1.5.0_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
http-exec-80-2 stack:
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:806)
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:390)
org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1079)
org.apache.coyote.Response.action(Response.java:183)
org.apache.coyote.Response.finish(Response.java:305)
org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
org.apache.catalina.connector.Response.finishResponse(Response.java:492)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:310)
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:879)
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2080)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
java.lang.Thread.run(Thread.java:595)
sometimes the stack of http-exec-80-2 is just changing from this to above:
org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:620)
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:46)
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:803)
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:390)
org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1079)
org.apache.coyote.Response.action(Response.java:183)
org.apache.coyote.Response.finish(Response.java:305)
org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
org.apache.catalina.connector.Response.finishResponse(Response.java:492)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:310)
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:879)
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2080)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
java.lang.Thread.run(Thread.java:595)
http-80-ClientPoller stack:
sun.nio.ch.PollArrayWrapper.poll0(Native Method)
sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1473)
java.lang.Thread.run(Thread.java:595)
attached are the screenshots of JConsole from where you can see the graphs...
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 44989] using NIO connector with compression
consumes all CPU
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=44989
Clóvis Wichoski <cl...@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |ASSIGNED
--- Comment #3 from Clóvis Wichoski <cl...@gmail.com> 2008-05-15 13:15:18 PST ---
Hi, Filip,
on May 13, 2008 when i read your message, i tested with the svn snapshot and
put that in production with JDK 1.5.0_15 32bit, and i wait until today to
report that the system is working very well, now its processing 1100 request
per minute just using an average of 10% of CPU, now the system works as
expected, when you commit and have a final version, let me know, for now i will
stay using the snapshot version.
thanks for your help.
KR
Clóvis
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 44989] using NIO connector with compression
consumes all CPU
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=44989
Filip Hanik <fh...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #4 from Filip Hanik <fh...@apache.org> 2008-05-15 18:42:38 PST ---
Marking fixed, user reports no more problems in SVN version
thanks for your assistance!
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 44989] using NIO connector with compression
consumes all CPU
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=44989
Filip Hanik <fh...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |NEEDINFO
--- Comment #2 from Filip Hanik <fh...@apache.org> 2008-05-13 08:03:51 PST ---
Hi there, many thanks for the report.
I would like to ask you for two things
1. Test the latest 6.0.x trunk, there has been changes in the exact code you
are refering to
fairly simple to build
(build with JDK 1.5)
svn co http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk
cd trunk
ant download
ant
output ends up in output/build
and if that doesn't change your scenario, make sure we are not running into a
JDK/NIO bug on linux, so test with the latest 1.6 JVM
best
Filip
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 44989] using NIO connector with compression
consumes all CPU
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=44989
--- Comment #1 from Clóvis Wichoski <cl...@gmail.com> 2008-05-13 07:39:10 PST ---
Created an attachment (id=21958)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=21958)
JConsole TopThreads
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org