Comparando Nginx + PHP-FPM com Apache-mod_php

4

Estou executando o Drupal e tentando descobrir a melhor pilha para atendê-lo. Apache + mod_php ou Nginx + PHP-FPM

Eu usei o ApacheBench (ab) e o Siege para testar as duas configurações e vejo o desempenho do Apache melhor. Isso me surpreende um pouco desde que ouvi muitas coisas boas sobre o Nginx + PHP-FPM. Minha configuração atual do Nginx é algo que é um pouco fora da caixa, e o mesmo vale para o PHP-FPM

Que otimizações posso fazer para acelerar o combo Nginx + PHP-FPM sobre Apache e mo_php? Nos meus testes usando ab, o Apache está superando significativamente o Nginx (maiores requets / segundo e testes de finalização muito mais rápidos)

Eu pesquisei um pouco, mas como nunca usei Nginx, PHP-FPM ou FastCGI, não sei exatamente por onde começar

PHP v5.2.13, Drupal v6, mais recente PHP-FPM e Nginx compilado da origem. Apache v2.0.63

ApacheBench Nginx + PHP-FPM

Server Software:        nginx/0.7.67
Server Hostname:        test2.com
Server Port:            80

Concurrency Level:      25
---> Time taken for tests:   158.510008 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
---> Requests per second:    6.31 [#/sec] (mean)
Time per request:       3962.750 [ms] (mean)
Time per request:       158.510 [ms] (mean, across all concurrent requests)
Transfer rate:          181.38 [Kbytes/sec] received

ApacheBench Apache usando mod_php

Server Software:        Apache/2.0.63
Server Hostname:        test1.com
Server Port:            80

Concurrency Level:      25
--> Time taken for tests:   63.556663 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
--> Requests per second:    15.73 [#/sec] (mean)
Time per request:       1588.917 [ms] (mean)
Time per request:       63.557 [ms] (mean, across all concurrent requests)
Transfer rate:          103.94 [Kbytes/sec] received
    
por Rushi 24.08.2010 / 20:00

2 respostas

3

Aqui estão algumas possibilidades para isso:

  1. Você ativou algum tipo de cache opcode com mod_php
  2. Você ativou o mod_cache no apache
  3. Você está usando o método de conexão TCP em php-fpm.

Poste de volta com esses detalhes.

Além disso, tente apache + mod_fastcgi + apc + php-fpm.

E, se você estiver usando a condição if em nginx para reescrever as regras, mude para try_files. se por vezes tiver problemas de desempenho.

    
por 10.07.2011 / 07:47
1

É possível que você tenha o APC ou outro acelerador habilitado com o apache? Concordo com o cartaz acima que mais informações sobre sua configuração são necessárias.

    
por 01.02.2011 / 04:51