Google Cloud Run – случайные ошибки 504 HttpJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Google Cloud Run – случайные ошибки 504 Http

Сообщение Anonymous »

В настоящее время мы запускаем приложение Java 11 в Cloud Run с Jetty 10 и столкнулись с необычной проблемой. Хотя служба в целом работает без сбоев, мы заметили, что небольшая часть запросов POST, примерно 1 000 из 3 000 000, обработанных за последний месяц, загадочным образом завершается сбоем. Эти неудачные запросы приводят либо к неправильному ответу 503, либо к ошибке HTTP тайм-аута шлюза 504, причем большинство из них представляют собой ошибки 504. Как ни странно, эти запросы, похоже, остаются в состоянии ожидания и не принимаются экземпляром для выполнения. В конце концов, они успешно выполняются на другом экземпляре. Более того, эти неудачные запросы имеют один и тот же идентификатор экземпляра (среди неудачных запросов есть несколько успешных запросов для этого экземпляра, что еще более странно).
Что касается 503 ошибки неправильного ответа, мы ознакомились с документацией Google по устранению неполадок и исключили проблемы с памятью и тайм-ауты на уровне приложения. Несмотря на проведенное расследование, мы не выявили каких-либо узких мест в нисходящей сети, а частота запросов остается значительно ниже установленных ограничений Google и составляет в среднем 15 запросов в секунду.
Для ошибок 504 тайм-аута шлюза , сообщение указывает, что запрос достиг максимального времени ожидания запроса, однако похоже, что эти запросы на самом деле никогда не достигают экземпляра, поскольку они не создают никаких журналов, указывающих на выполнение.
Ниже приведены несколько связанных снимков экрана.
Изображение

Изображение

Для решения этих проблем мы предприняли несколько шагов:
  • Настроили проверки готовности и работоспособности для определения работоспособности экземпляра, которые в целом функционировали хорошо. В одном «неисправном» экземпляре проверка работоспособности обнаружила проблему через час, что привело к прекращению работы этого экземпляра.
  • Отслеживалось использование ЦП и памяти, оба из которых кажутся работоспособными, с ЦП. стабильно ниже 50 % и никаких ошибок нехватки памяти.
  • Обеспечено правильное закрытие ресурсов, таких как файловое хранилище Google Cloud и клиентские подключения Redis, для предотвращения утечек ресурсов.
  • li>
    Подтверждено соблюдение квот Google Cloud API, что гарантирует отсутствие каких-либо ограничений.
Облако Запуск конфигурации

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

CPU allocation: CPU is always allocated.
Startup CPU boost: Enabled
Concurrency: 80
Request timeout: 1800 seconds
Execution environment: Second generation
Autoscaling: Enabled
Min instances: 12
Max instances: 100
CPU Limit: 4
Memory Limit: 8GB
Session Affinity: Enabled
HTTP2: Disabled
Кроме того, мы используем соединитель VPC для маршрутизации трафика только на частные IP-адреса и остаемся в пределах всех указанных пороговых значений.
Мы будем очень признательны за любые у вас может быть понимание того, что может быть причиной этих проблем.
С уважением.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ttp-errors
Ответить

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

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

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

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

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