Google App Engine 实例不断快速关闭

2024-06-18

所以我已经使用应用程序引擎很长一段时间了,没有任何问题。我知道,如果应用程序有一段时间没有被访问者点击,那么实例将关闭,并且第一个访问该网站的访问者将有几秒钟的延迟,同时新实例启动。

然而,最近这些实例似乎只在很短的时间内保持活动状态(有时不到一分钟),如果我已经启动并运行了 1 个实例,并且我刷新了应用程序网页,它仍然会启动另一个实例(它启动的页面是最小的主页 HTML,不需要太多的 CPU/内存)。查看我的日志,它不断启动新实例,以前从未出现过这种情况。

关于我应该注意什么的任何提示,或者关于为什么会发生这种情况的任何想法?

另外,我正在使用 Python 2.7、线程安全、Python 预编译、预热入站服务、NDB。

Update:

因此,我将我的应用程序更改为至少有 1 个空闲实例,希望这能够解决问题,但即使一个常驻实例已经在运行,它仍然会启动新实例。因此,当只有 1 个常驻实例(除了我之外,我没有收到任何流量),并且我转到应用程序上的另一个页面时,它仍在启动一个新实例。

此外,正如 koma 指出的那样,我将待处理延迟更改为 1.5 秒,但这似乎没有帮助。

实例的内存使用量始终在 53MB 左右,当被调用的页面没有做太多事情时,这是令人惊讶的。我正在使用 F1 前端实例类,其限制为 128,但无论哪种方式,53MB 对于它应该做的事情来说似乎都很高。第一次启动时这个大小是可以接受的吗?

更新2:我刚刚在仪表板中注意到,在过去 14 小时内,请求 /_ah/warmup 响应了 24 404 个错误。这可能有关系吗?为什么他们会回复 404 响应状态?

主要问题:为什么它会不断启动新实例(即使没有流量)?特别是已经存在实例的情况下,为什么它们关闭得这么快?


我的解决方案是增加待处理延迟 time.

如果网页同时触发 3 个 ajax 请求,AppEngine 就会为额外的请求启动新实例。配置完成后最小待处理延迟time - 将其设置为 2.5 秒,同一实例正在处理所有三个请求,并且吞吐量是可以接受的。

我的项目仍然有很少的负载/流量...因此,除了提高待处理延迟之外,我在 Pingdom 上开设了一个帐户,并将其配置为每分钟 ping 我的 App Engine 项目。

两者的结合使我拥有一个保持活动状态的实例,并且在大多数时间都在满足所有请求。当确实有必要时,它将扩展到新的实例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google App Engine 实例不断快速关闭 的相关文章

随机推荐

  • ScrollViewer 滚动条始终禁用

    我是 xaml 和 wpf 的新手 我正在尝试将一些用户控件从代码隐藏插入到容器中 我已阅读此博客文章MSDN http blogs msdn com b marcelolr archive 2009 06 09 stackpanel do
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • 为什么我的项目没有显示在 JFrame 中?

    我对 JFrame 相当陌生 我想知道为什么我的项目没有显示在窗口上 我知道我没有 ActionHandler 但我只想让我的文本字段显示在我的窗口上 这是我的代码 import java awt Font import javax swi
  • npm 如何处理循环依赖?

    只是想知道 如果有一个具有循环 循环依赖的包 npm 会处理它吗 如何 我用谷歌搜索但找不到非常有用的结果 我在这里可以想到两种问题 相同版本的循环依赖 A gt B B gt C C gt A npm 是否像这样构建依赖关系 只是我的猜测
  • Dart - 何时在集合上使用 Collection-For-In 与 .Map()

    collection for in 操作和 map 方法都可以返回对先前集合中的元素的一些操作 是否有任何理由更喜欢使用其中一种而不是另一种 var myList 1 2 3 var alteredList1 for int i in my
  • 无效的捆绑包...包含不允许的文件“frameworks”

    我尝试通过应用程序加载器发布我的应用程序 但我不断收到此错误 我试过了这个解决方案 https stackoverflow com questions 25777958 validation error invalid bundle the
  • 让我的函数访问外部变量

    我外面有一个数组 myArr array 我想让我的函数访问其外部的数组 以便它可以向其中添加值 function someFuntion myVal some processing here to determine value of m
  • 将 Maven 工件与其依赖项递归地发布到本地 Ivy 存储库

    我必须将一组依赖项镜像到我公司本地的 Ivy 存储库 我目前需要发布Hibernate Spatial 4 0 M1 在我的 Eclipse 项目中 如果启用远程存储库 我只能解析 Ivy 依赖项
  • 没有由文字“1”产生的 Num String 实例

    main do putStrLn myLast 1 2 3 4 myLast a gt a myLast x x myLast xs myLast xs 当我尝试运行此代码时 我收到此消息 没有由文字 1 产生的 Num String 实例
  • MySQL:计算日期/时间之间的差异 - 仅在周一至周五“工作周”期间

    我需要计算开始日期 时间和结束日期 时间之间的差异 但是 我只想在 5 天的工作周内执行此操作 不包括周六 周日 做这个的最好方式是什么 我的想法是 从日期开始 我必须获取星期几 如果是工作日 那么我将添加到累加器中 如果不是 那么我不会添
  • Three.js 中的自定义纹理着色器

    我只是想创建一个非常简单的片段着色器 将指定的纹理绘制到网格上 我研究了一些实现相同功能的自定义片段着色器 并构建了我自己的着色器并围绕它支持 JS 代码 然而 它就是行不通 这是我尝试运行的代码的工作抽象 顶点着色器
  • PHP Laravel:未找到特征

    我在命名空间和使用方面遇到一些问题 我收到此错误 未找到特征 Billing BillingInterface 这些是我的 Laravel 应用程序中的文件 计费 php namespace Billing BillingInterface
  • C#:在特定时间启动应用程序

    我想在计算机上的特定时间启动应用程序 如何在 C 中执行此操作 只是我正在开发一个应用程序 当应用程序必须运行并执行特定任务时 用户将设置一个计时器 我听说在 Windows 中有一个工具可用于在特定时间启动应用程序 是的 Windows
  • NumPy 和 memmap:[Errno 24] 打开文件太多

    我正在处理大型矩阵 因此我使用 NumPy memmap 但是 我收到错误 因为显然 memmap 使用的文件描述符没有关闭 import numpy import tempfile counter 0 while True temp fd
  • 修改附加套件中 Firefox 下载对话框的内容

    我希望能够在开始文件下载时在 Firefox 中弹出的下载对话框中添加一个选项 是否可以使用新的附加 SDK 来执行此操作 还是必须使用旧方法 编辑 显然 如果选择了新选项 我需要一种方法来了解它并基于它执行代码 这就是你会用的东西XUL
  • 使用 Django 从标准输出返回 pdf 响应

    我正在使用 wkhtmltopdf 创建 PDF 文件 但是我不知道如何正确返回它们 所以我必须将它们写入我的媒体文件夹 然后重定向到刚刚创建的文件 编辑 Ian 的建议是写入 STDOUT 因此我更改了 wkhtmltopdf 命令来执行
  • 从 csv 文件中读取奇数行

    这看起来相当简单 我只需要从 R 中的数据文件中读取奇数行并创建一个新的数据框 我怎样才能实现这个目标 read csv filename csv c TRUE FALSE 怎么运行的 功能read csv用于读取整个文件并返回包含所有行的
  • 对数据进行分布拟合 - MATLAB

    我正在尝试对从显微镜图像中收集的一些数据进行分布 我们知道 152 左右的峰值是由于泊松过程造成的 我想将分布拟合到图像中心的大密度 同时忽略高强度数据 我知道如何将正态分布拟合到数据 红色曲线 但它不能很好地捕获右侧的重尾 尽管泊松分布应
  • 如何在 PHP 中获取 html 中的文件路径?

    有人可以告诉我如何使用 html 获取文件路径
  • Google App Engine 实例不断快速关闭

    所以我已经使用应用程序引擎很长一段时间了 没有任何问题 我知道 如果应用程序有一段时间没有被访问者点击 那么实例将关闭 并且第一个访问该网站的访问者将有几秒钟的延迟 同时新实例启动 然而 最近这些实例似乎只在很短的时间内保持活动状态 有时不