Desempenho do webman
Fluxo de processamento de solicitação do framework tradicional
- O nginx/apache recebe a solicitação.
- O nginx/apache repassa a solicitação ao php-fpm.
- O php-fpm inicializa o ambiente, como a criação de uma lista de variáveis.
- O php-fpm chama o RINIT de várias extensões/módulos.
- O php-fpm lê o arquivo php do disco (pode ser evitado usando o opcache).
- O php-fpm realiza a análise léxica, análise sintática e compilação em opcode (pode ser evitado usando o opcache).
- O php-fpm executa o opcode, incluindo 8, 9, 10, 11.
- O framework é inicializado, como a instanciação de várias classes, incluindo contêiner, controladores, rotas, middlewares etc.
- O framework se conecta ao banco de dados e verifica a permissão, conecta-se ao redis.
- O framework executa a lógica de negócios.
- O framework encerra a conexão com o banco de dados e o redis.
- O php-fpm libera recursos, destrói todas as definições de classe, instâncias, destrói a tabela de símbolos etc.
- O php-fpm chama sequencialmente o método RSHUTDOWN de várias extensões/módulos.
- O php-fpm encaminha o resultado para o nginx/apache.
- O nginx/apache retorna o resultado para o cliente.
Fluxo de processamento de solicitação do webman
- O framework recebe a solicitação.
- O framework executa a lógica de negócios.
- O framework retorna o resultado para o cliente.
Sim, sem a situação de proxy reverso do nginx, o framework possui apenas essas 3 etapas. Pode-se dizer que isso é o ápice de um framework PHP, o que torna o desempenho do webman várias vezes ou até dezenas de vezes melhor do que o framework tradicional.
Para mais informações, consulte Teste de estresse