Назад | Перейти на главную страницу

Тонкая настройка Nginx и PHP FPM

У меня есть капля Ubuntu со следующим:

Я использую nginx и PHP FPM, но, похоже, я не получаю максимальную отдачу от своего сервера. Использование моего процессора и памяти составляет около 10%, хотя сервер зависает, когда трафик становится интенсивным.

Резюме nginx:

Резюме php-fpm:

В моем файле www.conf:

Все остальное использует настройки по умолчанию.

О, и мой ulimit установлен на 99999, и opcache PHP включен.

Есть ли какой-нибудь контрольный список, который кто-то может пройти, чтобы убедиться, что они точно настраивают nginx и php-fpm для полного использования ресурсов сервера?

Такая конфигурация выглядит подходящей. Вы можете поэкспериментировать как с увеличением, так и с уменьшением количества процессов PHP-FPM (в настоящее время ограничено 1600) - иногда большее значение не всегда лучше, поскольку то, что делают эти процессы, может вызвать проблемы с производительностью при высоком уровне параллелизма. Попробуйте снизить его до 100, чтобы увидеть, что он делает. Это не обязательно ограничивает количество подключений, которые могут быть обслужены одновременно, поскольку другие подключения по-прежнему будут оставаться открытыми и стоять в очереди в ожидании обработки.

Но при этом я не думаю, что это ваша проблема. Скорее всего, это простой факт, что вы ограничены вводом-выводом, а это означает, что ваша база данных или доступ к файлам является узким местом. Если вы используете базу данных, вместо этого посмотрите конфигурацию. При большом количестве ОЗУ убедитесь, что у него достаточно размера буфера для того, что он должен делать (например, с InnoDB, дайте ему большой размер пула буферов, возможно, несколько Гб). И выявляйте медленные запросы и оптимизируйте их.