google-app-engine - Google App Engine Standard 第二代频繁重启
问题描述
我们遇到了 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 毫秒内加载,没有繁重的脚本。看起来实例在空闲时崩溃。
我们还尝试将实例类型增加到F4
相同的结果。
CPU 使用率和内存使用率的图表没有给我们任何线索。
这样做的问题是加载网站访问者的请求。大多数情况下,该站点快速且响应迅速,但是当新实例启动时,意外加载时间可能会超过 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
解决方案
推荐阅读
- javascript - 自定义 javascript 幻灯片元素有问题。主键无反应
- c# - 如何在方法中调用其他数据库的存储过程
- javascript - 如何在反应打字稿中保存在json文件中所做的更改
- react-native - 反应本机博览会错误,npm ERR!代码 ERR_OSSL_PEM_NO_START_LINE
- azure - Azure AppService ARM 完整部署 - 如何删除现有的 hostNameBinding?
- java - 应用重启后使用 Spring Boot 获取外部 API 返回 400 错误请求
- google-apps-script - 使用谷歌应用脚本自动将脚本添加到谷歌文档
- flutter - 滚动后如何防止 ListView.builder 中的项目重新渲染?
- php - Woocommerce 购物车中的全局属性
- flask - ModuleNotFound:没有名为“SpeechRecognition”的模块