Чому fastcgi nginx швидше, ніж apache mod_php

Спочатку я збирався написати пост про те, чому Nginx в зв'язці з FastCGI працює швидше, ніж Apache з mod_php. Не так давно ходили чутки, що Nginx з запущеним PHP через FastCGI продуктивніше, ніж Apache з mod_php. Багато знайомих стверджували, що це чиста правда. Деякий час назад я провів невелике дослідження з цього питання і зібрав цікаві факти.

Сьогодні я хотів би докладно розповісти про свої пошуки істини і проаналізувати отримані результати. Так ось, для початку зауважу, що раніше мені доводилося збільшувати продуктивність. Якщо мені не зраджує пам'ять, це було необхідно і для роботи з Magento.

Для тестування я зробив простенький скрипт «привіт, світ». Чому такий простий? Тому що коли ви працюєте з інтерпретатором PHP, не повинно бути ніякої різниці в продуктивності. Тоді чому не зробити порожню сторінку? Тому що для чистоти експерименту необхідно забезпечити двосторонній зв'язок. Моєю метою було перевірити пропускну здатність веб-сервера, а не PHP. Так що я витратив мінімум часу на PHP і все увагу приділив перевірці передачі даних.
Базові тести показують наступне:

Якщо ви працюєте з різним вмістом, додаєте CSS, JS, зображення, тоді Nginx забезпечить кращу загальну продуктивність, але він не буде працювати швидше PHP. Також, Nginx буде краще реагувати на атаки типу відмови в обслуговуванні, але, як правило, на зниження ризику такого роду спрямований сервіс CDN.
Таким чином, якщо ви працюєте з чистим PHP, Apache залишається для вас найефективнішим рішенням.

Схожі статті