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 2014/05/14 09:35:37 UTC

[Bug 56521] New: Reuse the output buffer in AbstractServeletOutputBuffer

https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

            Bug ID: 56521
           Summary: Reuse the output buffer in
                    AbstractServeletOutputBuffer
           Product: Tomcat 7
           Version: 7.0.47
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: leonzhx@hotmail.com

Created attachment 31618
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31618&action=edit
diff file of

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

leonzhx@hotmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Reuse the output buffer in  |Reuse the output buffer in
                   |AbstractServeletOutputBuffe |AbstractServletOutputStream
                   |r                           |

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Mark Thomas <ma...@apache.org> ---
Fixed in 8.0.x for 8.0.9 onwards and in 7.0.x fir 7.0.55 onwards.

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

--- Comment #5 from Mark Thomas <ma...@apache.org> ---
The other thing that would significantly reduce garbage is not to copy the data
from the buffer to a new buffer if it is not fully written.

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

--- Comment #2 from leonzhx@hotmail.com ---
it's in package org.apache.coyote.http11.upgrade

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

Sheldon Shao <xs...@ebay.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #31618|0                           |1
           is patch|                            |

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServeletOutputBuffer

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

leonzhx@hotmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|Catalina                    |Servlet & JSP API

--- Comment #1 from leonzhx@hotmail.com ---
in AbstractServletOutputStream, there is an output buffer to save the unwritten
bytes for one write in non-blocking mode. However the buffer is allocate each
time it's needed and will cause many unnecessary trash. We observed it during
our performance testing when the server runs for long time at high TPS, the GC
over head is getting larger. After improvement the GC overhead is lowered and
CPU usage is also lowered with same TPS.

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

--- Comment #4 from leonzhx@hotmail.com ---
Created attachment 31619
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31619&action=edit
AB testing result for performance

the red line is the performance of the patched server while the green one is
the base.

-- 
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


[Bug 56521] Reuse the output buffer in AbstractServletOutputStream

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56521

--- Comment #3 from leonzhx@hotmail.com ---
Here TPS is Transaction Per Second which indicates the throughput of the
server.

-- 
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