webman rendimiento

Flujo de procesamiento de solicitudes en marcos tradicionales

  1. nginx/apache recibe la solicitud
  2. nginx/apache pasa la solicitud a php-fpm
  3. php-fpm inicializa el entorno, por ejemplo, crea una lista de variables
  4. php-fpm llama a RINIT de las distintas extensiones/módulos
  5. php-fpm lee archivos php desde el disco (se puede evitar usando opcache)
  6. php-fpm realiza análisis léxico, análisis sintáctico, compila a opcode (se puede evitar usando opcache)
  7. php-fpm ejecuta el opcode incluyendo 8.9.10.11
  8. El marco se inicializa, como instanciar varias clases, incluyendo contenedor, controladores, rutas, middleware, etc.
  9. El marco conecta a la base de datos y verifica permisos, conecta a redis
  10. El marco ejecuta la lógica de negocios
  11. El marco cierra las conexiones a la base de datos y redis
  12. php-fpm libera recursos, destruye todas las definiciones de clases, instancias, destruye la tabla de símbolos, etc.
  13. php-fpm llama secuencialmente al método RSHUTDOWN de las distintas extensiones/módulos
  14. php-fpm reenvía el resultado a nginx/apache
  15. nginx/apache devuelve el resultado al cliente

Flujo de procesamiento de solicitudes en webman

  1. El marco recibe la solicitud
  2. El marco ejecuta la lógica de negocios (código byte de opcode)
  3. 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