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