
Tengo un servidor con Apache/2.4.6 (CentOS)
+ OpenSSL/1.0.2k-fips
(sé que esta es una versión antigua de Apache pero no se puede actualizar en este momento). El evento mpm se utiliza para procesamiento múltiple.
Al entregar HTTP
contenido, todo funciona como se esperaba:
El servidor puede manejar muchas solicitudes simultáneamente sin problemas (la prueba se realizó con aproximadamente 150 clientes, cada uno de los cuales creó 4 conexiones paralelas = 600 conexiones). Todas las solicitudes se dirigen a contenido estático y utilizan keepalive.
con HTTPS/SSL
, es una historia diferente.
Utilizará rápidamente los 400 hilos posibles (ver marcador). No se realizarán conexiones asíncronas. AFAIK se comporta como mpm worker
.
Al principio pensé que era una limitación y que mpm event
solo funcionaría con HTTP. Pero esto no es lo que está escrito en eldocumentación(bajoCómo funciona>Conexiones asíncronas) :
Estas mejoras son válidas tanto para conexiones HTTP/HTTPS.
EDITAR: hay cierta información enLimitacionesSección dedocumentacióneso explica que en algún caso podría volver a caer mpm worker
. Sin embargo, no parece aplicarse aquí.
Respuesta1
Mientras miraba el código fuente de Apache para posibles mpm worker
condiciones de respaldo, encontré lo siguiente relevantecomentario:
Si tenemos un filtro de entrada que 'obstruye' el flujo de entrada, como solía hacerlo mod_ssl, hagamos la lectura normal de los filtros de entrada, como lo hace Worker MPM.
Como estoy usando una versión antigua de Apache, eso podría explicar que mpm event
no funciona bien con SSL.
EDITAR: parece que esto se ha hecho en estecomprometerse:
core, mod_ssl: elimina la restricción que impide que mod_ssl aproveche al máximo el evento MPM.
Utilizo Apache 2.4.6
y el cambio se publicó más adelante, en 2.4.7
.