Leonardo Augusto escreveu: > Ola, > > Tenho pesquisado na net e vi alguns comentarios que o php5 tem um > desempenho melhor no apache22 se for usado via mod_fastcgi.. > ao inves de mod_php > > O argumento é que o core do php nao é carregado pelo apacha a cada > instancia do servidor... > E para o mod_php ainda nao funciona bem com o tal do mpm.. que > resolveria esse problema.. > > É melhor entao usar o php via mod_fastcgi ?
Pessoalmente não sei não, não vejo sentido nisso. A grande vantagem de performance do php no Apache é exatamente o modulo DSO. O que você deve ter lido foram duas coisas, a performance no Apache 2.2 é menor (quando comparado com Apache 2.0) e o carreamento da nova instância é mais lento. Já li ambos e o primeiro fato eu não avaliei, o segundo fato não faz sentido: - Ao invés de um novo httpd com o DSO do php, o cgi carrega um novo php-cgi via spawn-fcgi; como pode ser mais rápido? Conte comigo as chamadas de sistema, ao invles de 1 malloc pro DSO são um execve+fork pro httpd carregar o spawn-cgi, que por sua vez faz 1 malloc+execve+fork para carregar o php-cgi; em cada instância "nova"; - Depois disso cada instrucão processada pelo PHP é enviada através de socket local para o php-cgi, quee processa e devolve tambem via socket para o Apache; são cerca de 4 syscalls a mais por operacão, que não existe no caso do uso de módulo DSO; - Finalmente, se há qualquer diferenca de performance é no startup da instância do servidor. Isso é problema? Aumente o MinSpareServers e vai startar todos ao custo de 1 syscall de malloc por DSO e 1 syscall fork/execve ao invés de várias por instância; - Só pode ser problema para quem usa MaxRequestsPerChild diferente de 0 no Apache. Ainda assim se for um valor muito baixo (tipo 2) para o MaxRequestsPerChild; Por último, se o custo de carregar o DSO do php é tão grande, porque não é com o mod_access, o mod_ssl, com WebDAV, e mais N módulos DSO extremamente populares que o sistema carrega em cada instância? Logico, to falando com base no Apache 2.0; No 2.2. porem ainda que haja mesmo essa diferenca de performance se for tão crítica ao ponto de fazer uma implementacão mais pesada ficar mais rápida é um problema no mínimo crucial, pq o framework de DSO do Aapche é o basico dele. Sei que o PHP em modo CGI tem como vantagem pode ser executado com privilégio do usuário dono do script, ao invés de ser com usuário do Webserver. Em ambiente compartilhado isso pode aumentar a performance; por outro lado em DSO temos os php_admin_flags|value da vida configuráveis por contexto; o que temos de equivalente via CGI? Trocar variáveis de ambiente não serve, o programador redefine elas quando bem entender. O fato acima só pra considerar que nem tudo é performance. Segurança na minha opinião é mais critico e ai sim pode haver uma conversa interessante sobre fastcgi VS DSO. -- Patrick Tracanelli FreeBSD Brasil LTDA. Tel.: (31) 3516-0800 316...@sip.freebsdbrasil.com.br http://www.freebsdbrasil.com.br "Long live Hanin Elias, Kim Deal!" ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd