Estoy usando el cliente http asincrónico ning para lograr la bondad sin bloqueo. Al hacer una prueba manzanas versus manzanas (sin bloqueo versus bloqueo), veo que la versión no bloqueada está sirviendo más muestras de solicitudes, sin embargo, el cliente http asincrónico está creando más hilos en comparación con su contraparte de bloqueo. ¿Se espera esto o algo que me falta?Async http client (ning) crear más hilos?
Éstos son los números de la prueba de esfuerzo
Async Http Client
jMeter - 2 threads, 120 seconds, 1 sec ramp up
Peak threads : 270
Heap usage: 600mb
Peak cpu usage: 30%
Total samples: 18228
Blocking version
jMeter - 2 threads, 120 seconds, 1 sec ramp up
Peak threads: 118
heap usage: 260mb
cpu usage: 18%
total samples: 1472
Estoy creando un grupo de subprocesos de conexiones (reutilizándolas)
AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder();
builder.setRequestTimeoutInMs(2000);
builder.setMaximumConnectionsPerHost(10);
builder.setMaximumConnectionsTotal(100);
client = new AsyncHttpClient(builder.build());
¿Hay algo que estoy perdiendo aquí? Traté de ver el volcado de subprocesos para ver qué está creando subprocesos, pero no encontré nada útil. Mi apuesta es que hay un hilo por cada conexión http que se genera para activar la devolución de llamada en la finalización de E/S en el cliente http asincrónico.
Grandes, gracias tanto – Vinodh
https://github.com/AsyncHttpClient/async-http-client/blob/master/api/src/main/java/org/asynchttpclient/AsyncHttpClientConfig.java ¿le importaría a identificar línea 160 un poco más (como el nombre de la función, qué ver allí), ya que cambió en la versión reciente –
Los enlaces aquí no están funcionando! –