Время ожидания PHP FPM

У нас есть PHP FPM с Apache, работающим под Wordpress. Иногда я замечал, что определенные плагины, вызывающие внешние URL-адреса, действительно могут вмешиваться в FPM, что приводит к множеству тайм-аутов и т. Д., Если внешний URL-адрес не отвечает или что-то в этом роде. У нас никогда не было этой проблемы, запустите mod_php. Могу ли я что-то сделать, чтобы улучшить работу PHP FPM в таких ситуациях?

0
задан 9 February 2016 в 20:53
1 ответ

Не совсем. Когда дочерний элемент php-fpm выполняет код, относящийся к внешнему URL-адресу, и этот URL-адрес не отвечает [вовремя], код блокируется на некоторый настроенный тайм-аут (например, тайм-аут соединения curl), поэтому дочерний элемент также блокируется и ждет , не может обслуживать сокет php-fpm . Когда все дочерние элементы входят в это состояние, вы получаете статус 504 на вашем сайте. Кстати, поведение apache mod_php тоже. Так что это в основном проблема программирования, вам следует обсуждать ее в SO, а не в SF.

Единственное, что вы можете сделать в контексте SF - это увеличить количество дочерних элементов в пуле php-fpm , но, как правило, это контрпродуктивно, так как другие рано или поздно заблокируют и этот URL. Единственное, что может спасти вас без изменения кода - это иметь больше свободных детей, чем у вас есть пользователей, подключенных к вашим веб-серверам. Но это путь, полный печали и разочарования.

1
ответ дан 4 December 2019 в 16:42

Теги

Похожие вопросы