
Я нахожусь в процессе настройки сервера с 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.