Какова общая причина того, что nginx не передает запрос на php?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Какова общая причина того, что nginx не передает запрос на php?

Сообщение Anonymous »

В приложении мы начинаем видеть много запросов 504 от Nginx, но в большинстве случаев мы видим только лог Nginx о факте 504 из-за 60-секундного таймаута, но никаких логов со стороны PHP/FPM . У нас все еще есть журналы приложений для некоторых конечных точек, связанных с 504, и в большинстве случаев это из-за какого-то неоптимизированного/тяжелого запроса к базе данных, но большинство ответов 504 вообще не содержат журналов приложений (только Nginx), и я не могу отлаживать/ понять, в чем проблема.
Моей первой мыслью был буфер журнала, поскольку у нас также есть тайм-аут на стороне fpm (который составляет те же 60 секунд), поэтому PHP не отправляет буферизованные журналы, потому что прерывания: но у нас есть логгер потока, а также для некоторых 60-х 504-запросов у нас есть журналы, поэтому эта идея была отклонена.
Вторая идея заключалась в недостаточном количестве PHP-работников , у нас есть

Код: Выделить всё

pm: static
pm_max_children: 30
но у нас есть метрики Prometheus и они показывают, что максимальное количество активных процессов равно 15, то есть это далеко не 30. Также у нас есть HPA, настроенный на запуск новых подов, когда какой-либо под достигает 50% активных работников.
В зависимости от показателей ресурсов K8s все выглядит хорошо, без скачков в ресурсах (ЦП/память). В чем еще может быть проблема, где искать?

Подробнее здесь: https://stackoverflow.com/questions/786 ... est-to-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»