Java - AsyncHttpClient - Fire and Forget



我有一个用例,需要在Fire and Forget模式下发出数千个HTTPGet请求。

我正在使用aync http客户端<https://github.com/AsyncHttpClient/async-http-client>以实现这一点。

异步http客户端:2.5.4

Java 11

我正在为DefaultAsyncHttpClientConfig.Builder:使用以下配置

  1. setMaxConnections(10000)
  2. setIoThread(6)
  3. setKeepAlive(true)

HTTP获取响应时间:p99=500ms

我用上面的配置和http获取响应时间得到了2万个rps(传出(。

我没有明确添加任何超时。

现在我想了解添加100ms的readTimeOut是否会导致rps数量的增加。假设超时100ms后,异步http客户端将释放到池的连接供其他人使用。

有没有其他推荐的方法可以使用异步http客户端实现Fire and Forget?

谢谢。

默认读取超时为60000毫秒。您的想法是正确的,减少属性读取超时的值将释放连接。

有关更多详细信息,请访问ReadTimeoutTimerTask类https://github.com/AsyncHttpClient/async-http-client/blob/master/client/src/main/java/org/asynchttpclient/netty/timeout/ReadTimeoutTimerTask.java

最新更新