[
https://issues.apache.org/jira/browse/HTTPCORE-721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sajinie Kavindya updated HTTPCORE-721:
--------------------------------------
Description:
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
was:
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
> 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
> Priority: Major
> 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]