Pull to refresh
  • by relevance
  • by date
  • by rating

Nginx + PHP-FPM против Apache2 Prefork + mod_php

Configuring Linux *
Все началось с этой темы на форуме, когда многие на полном серьезе стали рассуждать, мол, nginx совсем не быстрее Apache, и даже перевод документации с официального сайта был неубедителен. Как известно, нет ничего более приятного, чем провести тестирование и показать график для привлечения внимания. Вот например график по обще нагрузке на сервер, попробуйте угадать где тут этап тестирования Nginx, а где — Apache.
image
Ну а перед тем как узнать правильный ответ — немного про сервер и механизм тестирования.
Дабы исключить всякие подозрения на «подкручивание» своих VDS, тест проводился на стороннем сервере, любезно предоставленным мне для теста одним из участников форума вот в такой кнофигурации:
AMD Athlon X2 5600+ 4 GB DDR2 2×400 GB HDD с Linux Debian в минимальной установке. Весь софт устанавливался стандартным образом — через apt-get. И PHP и Apache ставились в минимальном режиме.
Для объекта тестирования я поставил очень легкий блог Moscquito, который работает без MySQL, написав туда пару постов и камменты.
Дальше самое интересное
Total votes 85: ↑74 and ↓11 +63
Views 27K
Comments 95

nginx + apache. Кеширование

High performance *
Привет, %username%
Тут я хочу рассказать о том, как я настраивал кеширование на одном сервере, точнее VDS. Характеристики сервера: 2000MHz, 2GB RAM, 80Gb HDD, технология виртуализации — OpenVZ.
Было решено использовать Nginx версии 0.7.64. На сервере находилось около 200 сайтов. И несколько высоко нагруженных проектов. Вот эти самые проекты и давали ощутимые тормоза и нагрузку на сервер. Мы будем рассматривать DLE в этом примере.
Читать дальше →
Total votes 79: ↑66 and ↓13 +53
Views 19K
Comments 38

Заказывая оптимизацию сервера у хостера — держи ухо востро

Hosting
imageПару дней назад обратился ко мне человек с достаточно рутинной просьбой: подкрутить настройки VPS для его ускорения — за последнее время на сайте был резкий рост посещаемости, и сервер в часы-пик стал совсем загибаться.

Это была бы рядовая и унылая статья про nginx и opcode-кеширование, если бы сервер не был до этого «прооптимизирован» техподдержкой хостера :-)

О том, что я обнаружил в процессе оптимизации, я и пишу эту небольшую заметку, дабы уберечь других от подобных фокусов хостеров. :-)

Читать дальше →
Total votes 147: ↑142 and ↓5 +137
Views 2.9K
Comments 145

Почему NginX с Fast-CGI быстрее, чем Apache с mod_php?

Nginx *
Translation
Недавно я слышал, что NginX, работающий с PHP через FastCGI был быстрее Apache с mod_php. Я также видел, что люди как отрицают, так и соглашаются с этой гипотезой.  Давайте проведем небольшой тест и узнаем показатели работы этих систем.

Для тестирования я создал небольшой Hello world скрипт.  Почему я не выбрал что-то посложнее?  Ответ прост: в интерпритаторе PHP не должно быть особой разницы производительности.  Почему же тогда я не создал абсолютно пустую страницу?  Дело в том, что хотелось протестировать двунаправленную передачу данных.  Целью является тестирование скорости работы веб-сервера в целом, а не только PHP.

Базовые тесты дают нам следующие результаты:.

Apache с mod_php

Total transferred: 3470000 bytes

 HTML transferred: 120000 bytes

 Requests per second: 2395.73 [#/sec] (mean)

 Time per request: 4.174 [ms] (mean)

 Time per request: 0.417 [ms] (mean, across all concurrent requests)

 Transfer rate: 811.67 [Kbytes/sec] received


NginX с PHP-FPM

Total transferred: 1590000 bytes

 HTML transferred: 120000 bytes

 Requests per second: 5166.39 [#/sec] (mean)

 Time per request: 1.936 [ms] (mean)

 Time per request: 0.194 [ms] (mean, across all concurrent requests)

 Transfer rate: 801.82 [Kbytes/sec] received


Apache удалось обработать 2400 запросов в секунду в отличии от Nginx. Он справился с 5200 запросами.  Такого большого количества я раньше никогда не видел. Я выполнил те же запросы с -c -f для Apache, чтобы узнать причины такой разницы.  -c отображает время системных запросов, -f следует ответвлениям.  Какой же результат для первых 10 строк?

% time seconds usecs/call calls errors syscall

------ ----------- ----------- --------- --------- ----------------

 33.65 0.042063 4 10003 getcwd

 16.10 0.020127 2 10001 writev

 16.00 0.019994 2 10001 shutdown

 10.54 0.013179 0 51836 40118 open

 9.01 0.011263 1 20008 semop

 5.22 0.006522 0 54507 10002 read

 2.53 0.003158 0 10024 write

 1.91 0.002386 0 88260 66483 close

 1.57 0.001959 245 8 clone

 1.16 0.001455 0 54832 384 stat64
Читать дальше →
Total votes 56: ↑10 and ↓46 -36
Views 30K
Comments 35