JBoss EAP 7, configuraciones de trabajadores del subsistema IO

JBoss EAP 7, configuraciones de trabajadores del subsistema IO

Pregunto aquí porque no encuentro mucha información sobre esto...

¿Cuál es el uso principal de la configuración para "subprocesos IO" y "subprocesos máximos de tareas" en la configuración de trabajadores del subsistema IO?

En todas partes que leo, la gente dice que los "subprocesos Io" especifican la cantidad de solicitudes simultáneas que el servidor puede manejar, y que los "subprocesos máximos de tareas" es la cantidad máxima de solicitudes simultáneas que el servidor puede manejar.

Entonces, ¿esto significa que si configuro los "subprocesos Io" en 50, eso significa que JBoss puede manejar 50 solicitudes del navegador simultáneamente?

Tengo un sitio donde el requisito es poder atender a 1500 usuarios simultáneos en un período de tiempo de 15 segundos. Y cada solicitud no debería tardar más de 3 segundos en completarse. Esto incluye descargar los archivos html, js, css y todos los archivos jpg que el navegador necesita.

¿Significa esto que necesito configurar los "subprocesos Io" en un número mayor, como 100, y los "subprocesos máximos de tareas" en 150?

Intenté configurar "Subprocesos máximos de tareas" en 150, e incluso en 250, y parece ralentizar mi sitio.

¿Alguien puede explicar cómo funcionan estas 2 configuraciones?

Respuesta1

Por lo general, no es necesario tener un subproceso IO separado para cada conexión de usuario. Sin embargo, es posible que necesites tantos subprocesos de tareas como usuarios simultáneos en cualquier momento para evitar ralentizaciones. Puede probar los valores predeterminados y ver cómo funcionan para su aplicación. Vea estos artículos de soporte:

Tenga en cuenta que EAP 7.2 tiene una configuración de subprocesos centrales adicionales para mayor eficiencia.

Actualización: dado que desea instrucciones más completas, será mejor que consulte el completoGuía de ajuste del rendimiento de Red Hat Enterprise Application Platform.

Actualización 2: debido a que EAP 7 usa Undertow, para comprender qué hacen IO y el subproceso de trabajo,documentos de resacadebería dar algunas pistas:

Gestión de hilos IO y Worker.

El trabajador XNIO gestiona tanto los subprocesos IO como un grupo de subprocesos que se puede utilizar para bloquear tareas. En general, los controladores sin bloqueo se ejecutarán desde un subproceso IO, mientras que las tareas de bloqueo, como las invocaciones de servlet, se enviarán al grupo de subprocesos del trabajador.

Respuesta2

@IWantSimpleLife como @akostadinov se refirió a la documentación describe el diseño y cómo el trabajo de "bloqueo de IO" está separado del trabajo del controlador. Creo que tengo razón al decir que, para responder a su pregunta, los "subprocesos IO" y los "subprocesos de tareas máximas" no están directamente relacionados. Digo esto porque se refieren a dos grupos de hilos separados. El primero es "Subprocesos de IO de trabajo", que describe el grupo inicial de controladores de "lectura" y "escritura" relacionados con IO que escuchan canales y eventos de nio. Idealmente, solo 1 subproceso en el grupo IO y debenuncaejecutar el procesamiento de bloqueo (red o archivo). ElotroEl grupo generalmente se denomina grupo "Subprocesos de tareas del trabajador". El cual se dedica a ejecutar trabajos de bloqueo. Uno de losajustesde este segundo grupo será el tamaño de "Subprocesos máximos de tareas".

información relacionada