У нас есть проблема с частыми перезапусками экземпляров App Engine, которые длятся 15–30 минут, иногда может быть 1 час.
За последние 24 часа у нас было 72 перезапуска экземпляров. Мы просмотрели журналы, но не смогли найти никаких сообщений об ошибках, объясняющих это.
Min_instances
установлено на 1
.
Приложение представляет собой приложение PHP Codeigniter. во время выполнения php73
.
Возможно, это актуально, поскольку оно регулярно появляется в журнале, а не одновременно с веб-запросами:
A 2020-05-01T17:46:46.675532Z [start] 2020/05/01 17:46:46.674713 Quitting on terminated signal
A 2020-05-01T17:46:46.900441Z [start] 2020/05/01 17:46:46.899377 Start program failed: termination triggered by nginx exit
Глядя на журнал запросов, он похоже, что в запросах страниц нет шаблона, который мог бы привести к сбою экземпляров.
Все запросы страниц обычно загружаются в течение 1-80 мс, нет тяжелых скриптов. Похоже, что экземпляры взломали sh в режиме ожидания.
Мы также пытались увеличить тип инстанса до F4
с теми же результатами.
Графики использования ЦП и памяти не дают нам никаких подсказок.
Проблема заключается в загрузке запросов посетителей сайта. В большинстве случаев сайт быстрый и отзывчивый, но это возможно при случайном времени загрузки более 1 с при запуске новых экземпляров. Мы настроили запросы на прогрев, но это не распространяется на все запуски экземпляров.
Это нормальное поведение? Как мы можем отлаживать дальше? Есть подсказка, что может быть не так?
Спасибо за любую помощь.
РЕДАКТИРОВАТЬ: Вот наш app.yaml:
runtime: php73
entrypoint: serve public_html/index.php
instance_class: F2
automatic_scaling:
min_instances: 1
inbound_services:
- warmup
vpc_access_connector:
name: "xx"
handlers
- url: /
script: auto
secure: always
- url: /(.+)
script: auto
secure: always
env_variables:
CLOUD_SQL_CONNECTION_NAME: xx
REDIS_HOST: xx
REDIS_PORT: xx