Avoid FPM reloading?
На днях гулял по документации Deployer 7 и набрёл на статью Avoid PHP-FPM Reloading.
Там даётся известная рекомендация использовать при конфигурации NGINX переменную $realpath_root вместо $document_root для
У нас так и настроено, однако от мягкой перезагрузки FPM мы не можем отказаться, так как используем preloading. И поэтому в статье меня смутила фраза "...reload can lead to dropped or failed requests".
Погуглил, вроде FPM должен корректно завершать запросы, активные на момент reload. Да и мы за пару лет не видели релевантных ошибок при деплойментах. Поэтому считаю дисклеймер неверным. Также нашёл твит на Пятиминутке PHP с полезными ссылками про деплоймент и opcache.
Вот такой дискуссионный пост получился. Пишите в комментариях, что думаете!
На днях гулял по документации Deployer 7 и набрёл на статью Avoid PHP-FPM Reloading.
Там даётся известная рекомендация использовать при конфигурации NGINX переменную $realpath_root вместо $document_root для
SCRIPT_FILENAME
. Это нужно для того, чтобы в opcache попадал реальный путь вместо симлинка и не было проблем при деплойменте. То же самое можно прочитать, например, в комментариях к примерному конфигу NGINX для Symfony.У нас так и настроено, однако от мягкой перезагрузки FPM мы не можем отказаться, так как используем preloading. И поэтому в статье меня смутила фраза "...reload can lead to dropped or failed requests".
Погуглил, вроде FPM должен корректно завершать запросы, активные на момент reload. Да и мы за пару лет не видели релевантных ошибок при деплойментах. Поэтому считаю дисклеймер неверным. Также нашёл твит на Пятиминутке PHP с полезными ссылками про деплоймент и opcache.
Вот такой дискуссионный пост получился. Пишите в комментариях, что думаете!