webman rendimiento
Flujo de procesamiento de solicitudes en marcos tradicionales
- nginx/apache recibe la solicitud
- nginx/apache pasa la solicitud a php-fpm
- php-fpm inicializa el entorno, por ejemplo, crea una lista de variables
- php-fpm llama a RINIT de las distintas extensiones/módulos
- php-fpm lee archivos php desde el disco (se puede evitar usando opcache)
- php-fpm realiza análisis léxico, análisis sintáctico, compila a opcode (se puede evitar usando opcache)
- php-fpm ejecuta el opcode incluyendo 8.9.10.11
- El marco se inicializa, como instanciar varias clases, incluyendo contenedor, controladores, rutas, middleware, etc.
- El marco conecta a la base de datos y verifica permisos, conecta a redis
- El marco ejecuta la lógica de negocios
- El marco cierra las conexiones a la base de datos y redis
- php-fpm libera recursos, destruye todas las definiciones de clases, instancias, destruye la tabla de símbolos, etc.
- php-fpm llama secuencialmente al método RSHUTDOWN de las distintas extensiones/módulos
- php-fpm reenvía el resultado a nginx/apache
- nginx/apache devuelve el resultado al cliente
Flujo de procesamiento de solicitudes en webman
- El marco recibe la solicitud
- El marco ejecuta la lógica de negocios (código byte de opcode)
- El marco devuelve el resultado al cliente
Así es, en ausencia de un proxy inverso nginx, el marco solo tiene estos 3 pasos. Se puede decir que esto ya es el límite para los marcos de PHP, lo que hace que el rendimiento de webman sea varias veces e incluso decenas de veces superior al de los marcos tradicionales.
Más información referida pruebas de estrés