Сравнение Nginx+PHP-FPM с Apache-mod_php

Я использую Drupal и пытаюсь найти лучший стек для его обслуживания. Apache + mod_php или Nginx + PHP-FPM

Я использовал ApacheBench (ab) и Siege для тестирования обеих установок, и я вижу, что Apache работает лучше. Это немного удивляет меня, так как я слышал много хорошего о Nginx + PHP-FPM. Моя текущая настройка Nginx - это что-то нестандартное, и то же самое касается PHP-FPM

Какие оптимизации я могу сделать, чтобы ускорить комбо Nginx + PHP-FPM через Apache и mo_php? В моих тестах, использующих ab, Apache значительно превосходит Nginx (чем больше запросов / сек, тем быстрее тесты заканчиваются)

Я немного погуглил, но так как я никогда не использовал Nginx, PHP-FPM или FastCGI, я точно не знаю, с чего начать

PHP v5.2.13, Drupal v6, последняя версия PHP-FPM и Nginx, скомпилированные из исходного кода. 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 с использованием 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

2 ответа

Вот несколько возможностей для этого:

  1. Вы включили какой-то кэш кода операции с помощью mod_php
  2. Вы включили mod_cache в apache
  3. Вы используете метод TCP соединения в php-fpm.

Отпишитесь с этими подробностями.

Также попробуйте apache + mod_fastcgi + apc + php-fpm.

И, если вы используете условие if в nginx для правил перезаписи, переключитесь на try_files. если иногда возникают проблемы с производительностью.

Возможно ли, что у вас есть APC или другой акселератор с Apache? Я согласен с постером выше, что необходима дополнительная информация о вашей конфигурации.

Другие вопросы по тегам