Мы только что переместили наш веб-сайт на новый высокопроизводительный сервер Linux (1x Intel Xeon E3-1230 v2 @ 3.30GHz, 8GB DDR3 ECC, 2x 128GB SATA SSD RAID1).
Сервер настроен на использование nginx, но мы не уверены, что он работает правильно. Сайт всегда очень быстро загружается для нас (http://www.onedirection.net), но Plesk часто отправляет нам отчеты о том, что процент использования ЦП Apache достигает высокого уровня, но когда мы смотрим на процентное соотношение nginx, оно всегда очень низкое.
Мы пришли из среды Windows, поэтому мы очень новичок в Linux, но разве nginx не должен запускать ВМЕСТО apache?
Вот скриншот из Plesk, показывающий использование ЦП: http://www.pixelkicks.co.uk/_download/plesk.JPG
Веб-сайт посещают около 20 000 человек в день, и мы используем W3 Total Cache, чтобы он работал как можно быстрее. MySQL был хорошо оптимизирован.
Использование памяти составляет только 2 ГБ из 8 ГБ.
Выглядит правильно? Как мы можем узнать, что nginx выполняет большую часть работы?
«Высокая» загрузка ЦП Apache здесь на самом деле связана не с Apache, а с PHP, который фактически загружается как общий объект в исполняемый файл Apache. Таким образом, процессорное время, занимаемое вашим WordPress и любыми другими запущенными PHP-скриптами, приписывается Apache, поскольку PHP работает внутри процесса Apache.
В этом сценарии вообще нет необходимости иметь Apache. Типичная установка nginx будет иметь nginx в качестве исходного сервера и php-fpm (который запускает PHP как отдельные процессы), запускающий сценарии PHP. Примеры конфигураций для nginx и php-fpm приведены на Собственная вики WordPress, а W3 Total Cache сгенерирует собственные фрагменты конфигурации для nginx.
Использование конфигурации nginx + php-fpm также дает вам преимущество в том, что легче определять медленные скрипты PHP, поскольку SAPI php-fpm содержит возможность медленной записи сценария (и никакой другой PHP SAPI не делает).