Тонкая настройка стека LNMP

Тонкая настройка стека LNMP

Я нахожусь в процессе настройки сервера с 4 ГБ ОЗУ и 2 ЦП. Стек будет CentOS + NGINX + MySQL + PHP (с APC) и spawn-fcgi. Он будет использоваться для обслуживания 10 блогов Wordpress, 3 из которых получают около 20 000 посещений в день. Каждый экземпляр Wordpress оснащен W3 TotalCache.

У меня есть несколько переменных, с которыми можно поиграться:

  • NGINX (сколько рабочих процессов, рабочих соединений и т. д.)
  • PHP (Какие параметры в php.ini мне следует изменить? Что насчет apc?)
  • Spawn-fcgi (Сейчас у меня создано 6 php-cgi. Сколько их мне нужно?)

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

решение1

worker_processes обычно должен быть таким же, как и количество ядер. Если у вас есть блокирующие процессы (disk_io, длинные потоки и т. д.), то вы можете увеличить это.

worker_processes * worker_connections = максимальное количество клиентов

убедитесь, что вы настроили gzip. Вероятно, нет необходимости настраивать rcvbuf или backlog для вашего сайта, поэтому я бы не стал сильно беспокоиться об этих настройках.

Что касается ваших потоков php, я бы, вероятно, запустил 5-10, как у вас. Если вы начнете получать ошибки 502 Gateway connect, вам, возможно, придется увеличить это.

Для php.ini настройки по умолчанию должны работать нормально. Если вы загружаете картинки/медиа, увеличьте post_max_size и upload_max_filesize в соответствии с вашими требованиями. APC — это практически готовая конфигурация, и она должна работать нормально.

Поскольку вы используете W3 Total Cache, вы также устраняете ряд обращений к php, что в любом случае должно снизить нагрузку на php-cgi.

Связанный контент