Я использую стек LEMP с отдельными пулами php5-fpm для двух страниц wp. Файлы конфигурации пула nginx и php5-fpm идентичны, за исключением имен сайтов и сокетов. Я делаю статические бассейны с 2 работниками в каждом.
Наблюдаемые явления следующие:
Что здесь идет не так? Где может быть проблема? Как я мог отследить это? Я не мог понять, какие параметры ведения журнала/отладки/статистики у меня есть... :(
Edit:
Это этап разработки, сайт с очень низким трафиком, поэтому проблема не может заключаться в том, что у меня заканчиваются работники. У меня есть одна просьба.
Если у вас есть статические пулы с двумя воркерами в каждом, у вас в основном заканчиваются воркеры для сценариев PHP все время.
Если два запроса поступают в одно и то же время, нужно дождаться завершения запроса, пока не будет обработан следующий запрос. Если одновременно поступают десятки запросов (например, index.php
и любые сценарии, обслуживающие контент AJAX), для загрузки одной страницы потребуется несколько одновременных рабочих процессов. Если количество воркеров ограничено двумя, один запрос должен завершить загрузку до тех пор, пока не будет обработан следующий.
Итак, я рекомендую использовать динамические пулы минимум с десятью воркерами и максимум с 20 для начала. Следите за своим php5-fpm.log
на предмет сообщений, которые рекомендуют добавить больше рабочих, и увеличивайте максимальное количество рабочих в соответствии с этим.
Если ваш сервер не может обрабатывать большее количество рабочих, вам необходимо получить больше ресурсов.