У меня есть сценарий использования, когда мне нужно сделать тысячи запросов HTTP Get в режиме Fire and Forget.
Я использую aync-http-client <<a href="https://github.com/AsyncHttpClient/async-http-client" rel="nofollow noreferrer">https://github.com/AsyncHttpClient/async-http-client> для достижения этой цели..
async-http-client: 2.5.4
Java 11
Я использую следующую конфигурацию для DefaultAsyncHttpClientConfig.Builder
:
setMaxConnections(10000)
setIoThread(6)
setKeepAlive(true)
HTTP Время ответа при получении: p99 = 500 мс
Iя получаю 20k rps (исходящих) с указанным выше конфигом и http получает время ответа.
Я не добавил явно тайм-ауты.
Теперь я хочу понять, приведет ли добавление readTimeOut 100 мс кувеличение числа RPS.Предполагается, что после 100 мс тайм-аута, async-http-client освободит соединение с пулом для использования другими.
Есть ли другой рекомендуемый способ достижения Fire и Forget с использованием async-http-client?
Спасибо.