Pergunta

Eu estava sob a impressão de que FastCGI permitido que você carregue um bocado em seu aplicativo web uma vez, e então você apenas "fornecer" FastCGI com alguma função, como myHandleHTTPRequest($url), que passaria então a ser chamado sempre que um pedido veio. Desta forma, você deseja obter um desempenho muito melhor como seu aplicativo está pronto na memória o tempo todo, certo?

Mas estou começando a entender, que este não é o caso. Ou estou enganado?

Parece-me, que o PHP está sendo carregado por FastCGI, ok, e isso dá alguma melhoria, mas, em seguida, minha aplicativo ainda está sendo recarregado em cada solicitação.

Eu gostaria de carregar meu aplicativo (ou ler 'quadro') uma vez (e depois recarregar dizer a cada 500 pedidos ou assim.) Eu posso fazer isso?

Editar : Esta pergunta foi reformulada para esta: personalizado PHP FastCGI Interface

Foi útil?

Solução

Sim, você pode fazer isso, por mais ou menos esquecendo toda a fantasia integração PHP coisas (sendo que o que está dando-lhe general-Purpose-PHP-intérprete-como-FastCGI) e escrever seu aplicativo como um servidor FastCGI em si.

Esse é um tipo de um todo 'nother tópico, mas que você pode querer olhar em como os aplicativos Perl ir sobre ele para um guia.

Outras dicas

O que fastcgi faz é para evitar gerando um intérprete php para cada pedido (como cgi faz). Isso economiza uma enorme quantidade de tempo de processamento, como o interpretador do PHP é mantido na memória, mais ou menos como mod_php faz.

O que você pode fazer para melhorar o desempenho é:

  1. APC , ou xcache, etc, que pré-compila todos os arquivos php transparente, evitando re-compilação em cada solicitação.
  2. Cache. Apc e outros fornecem mecanismos para armazenar variáveis ??com uma vida que se estende até mesmo entre os pedidos. Isso pode ser usado para compartilhar dados processados ??entre pedidos e dados de aplicativos manter na memória.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top