Сегодня более интересный кейс с отладкой php-fpm который непонятным образом, рандомно зависал. Будем использовать любимый strace, как ты любишь.
Проблема: На сервере крутится php-fpm, в любой момент времени процесс начинает зависать, то есть перестаёт обрабатывать любые запросы.
В какой-то момент может очухаться, а может и нет. В любом случае проблема решается перезапуском systemctl restart php-fpm. Ну и в логах ничего криминального нет, даже в дебаг режиме. По факту имеем 502 Bad Gateway.
Ребята придумали костыль, какой-то башник, который в кроне проверяет зависание и затем автоматически ребутит. Да, как временное решение подходит. Но сам знаешь, что временное всегда становится постоянным.
До этого были перепробованы все возможные варианты с конфигом, накручивание буферов, гугление, даже грешили на nginx, но ничего не помогало.
Так и жили пока дядя Рома не соизволил разобраться в ситуации, ну и разобрался.
Расчехляем strace
Для начала ты должен знать, что php использует модел