У нас есть производственный веб-сервер nginx с php FPM. Мы запустили скрипт php, который обновляет определенное поле в базе данных mysql и отправляет некоторый контент по почте с помощью php. mail
функция. Этот скрипт php был выполнен из командной строки. Было около 900 записей, т. Е. 900 раз обновлялась база данных, а php mail
была вызвана функция. На завершение этого сценария ушло около 15 минут.
Проблема: Проблема заключалась в nginx
веб-сервер не отвечал в течение этих 15 минут. У меня создалось впечатление, что выполнение php-скрипта в командной строке не повлияет на http-сервер, но по какой-то причине сервер просто завис. Обычно наш сервер выдает 502 плохой шлюз. Но на этот раз сайт показывал символ загрузки и просто не отвечал. Когда мы остановили скрипт, сайт снова заработал.
Приветствуются любые указатели на эту проблему.
ОБНОВИТЬ: Сценарий использовал постоянные соединения mysql, которые приводили к переполнению соединений сервера mysql, достигая максимального предела. Спасибо за то, что люди указали мне правильное направление.