[ 
https://issues.apache.org/jira/browse/CXF-9059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17882445#comment-17882445
 ] 

Jamie Mark Goodyear commented on CXF-9059:
------------------------------------------

Testing notes:

On linux systems, the ss -s command will provide you statistics on socket 
usage. 
We can observe when ephemeral port usage stabilizes.

On MacOS one can use netstat -an | grep IP_ADDRESS_OF_SERVER | wc -l 
To get an idea of connection count.

> HttpConduit should flush output stream ahead of closing connections when 
> HttpClient is autocloseable
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CXF-9059
>                 URL: https://issues.apache.org/jira/browse/CXF-9059
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>    Affects Versions: 4.1.0
>            Reporter: Jamie Mark Goodyear
>            Priority: Major
>             Fix For: 4.1.0
>
>
> HttpConduit should flush output stream ahead of closing connections when 
> HttpClient is autocloseable.
> When running WebClient in a load test (single host) we'll observe low 
> throughput.
> When we adjust the HttpConduit to flush output stream ahead of connection 
> close, we observe significant throughput improvement. 
> Given this appears to affect just autocloseable HttpClient, we select to 
> flush the output stead only when the JVM provides the autocloseable 
> HttpClient variety.
>  
> AbstractConduit:
> finally {
>     OutputStream os = msg.getContent(OutputStream.class);
>     // Java 21 may hang on close, we flush stream to help close them out.
>     if (os != null && AutoCloseable.class.isAssignableFrom(HttpClient.class)) 
> {. 
>         os.flush();
>     }
> super.close(msg);
> }
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to