Sajinie Kavindya created HTTPCORE-721:
-----------------------------------------
Summary: High CPU usage observed when the server closes the
connection after responding with the Keep-alive header to a load test with
large payload.
Key: HTTPCORE-721
URL: https://issues.apache.org/jira/browse/HTTPCORE-721
Project: HttpComponents HttpCore
Issue Type: Bug
Components: HttpCore NIO
Affects Versions: 4.4.15
Environment: JDK 8_261 and above
Reporter: Sajinie Kavindya
Attachments: HTTPClient.jmx, HttpCoreNIOTestServer.zip
Hi,
In HTTPCoreNIO 4.4.15, for JDK 8_261 and above, we can observe a high CPU usage
for the following scenario.
Client behavior: sends POST/PUT requests with a payload greater than the buffer
size. Should be a load test at least with two requests.
Server behavior: responds with the Connection: keep-alive header and
immediately closes the connection using the connection close method.
Please note that for JDK version < JDK 8_261, this is not reproducible. In
order to reproduce the issue, I have written a test server and a JMeter script
to act as a client.
Reproducible steps:
TestServer.java - Run this main class, which starts the server on port 8253. (I
have only changed the “completeResponse” method to close the connection at line
#753).
HTTPClient.jmx - Start this JMeter script, which sends two POST requests to the
server with a large payload.
Please let us know the validity of this scenario. For now, I am creating this
as a Bug as high CPU usage is observed.
Thanks & Regards,
Sajinie
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]