Google App Engine 应用程序实例回收和响应时间

2023-11-22

我在 GAE for Java 小组上发布了这篇文章,但我希望在这里更快地得到一些答案:)

我决定对我的应用程序进行一些长期运行的性能测试。我 每 5-30 分钟创建一些小型客户端点击应用程序,我运行 3-5 与此类客户端的线程数。

我注意到响应时间存在巨大差异,并开始 调查问题。我很快就找到了原因。 我遇到了与以下主题中描述的相同的问题:

连接到服务器到发送第一个字节之间的响应时间不均匀

应用程序实例似乎被过度回收

收到“请求在等待太长时间后被中止,无法尝试满足您的请求。”应用程序空闲后

我正在使用 Springframework,启动应用程序大约需要 18-20 秒 例如,这导致响应时间从 1 秒开始(当 请求命中正在运行的应用程序 - 非常罕见)到 22 秒(当新应用程序时) 被建造。

有什么解决办法吗? 我正在考虑创建最基本的 servlet 来执行关键任务 任务(提供 API 调用)并保持 UI 不变。 但那样我就会失去 Springframework 的所有好处。

有什么解决办法吗?

在解决(破解)我遇到的 App Engine 的众多限制之后 在开发我的应用程序时,我认为这会让我搬出去 App Engine 的...这实在是太多了,以至于一直在思考如何 赢得 GAE 问题比如何解决我的应用程序问题...

有什么帮助吗?

问候 康拉德


我知道有些人运行了一个保持活动的东西,以便让他们的应用程序实例始终运行。我的意思是,让客户端每 X 秒发送一次请求,这样您的应用程序就不会被回收。

这是一个快速实施的事情,但似乎违背了平台的精神。记下你的数字并检查是否值得。

另一种选择是重构您的应用程序,以使用比目前更多的延迟加载,这样启动就不需要那么长时间。

不知道除了这2个你还有没有别的选择。

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

Google App Engine 应用程序实例回收和响应时间 的相关文章

随机推荐

  • AWS beanstalk中的worker-tier和web-tier有什么区别

    在阅读文档时 我开始了解 AWS 中的这两层环境 但找不到它们之间的任何比较 文档中的建议是 应该为长时间运行的任务选择工作环境 以提高 Web 层的响应能力 我有几个问题来澄清我的疑惑 两层有何不同 关于执行不同的操作 每个操作中可用的服
  • 如何在 Spring 中自动装配泛型类型 的 Bean?

    我有一颗豆子Item
  • 我可以使用Spring5的WebClient返回的Flux的block()方法吗?

    我创建了 Spring Boot 2 0 演示应用程序 其中包含两个使用 WebClient 进行通信的应用程序 当我从 WebClient 的响应中使用 Flux 的 block 方法时 他们经常停止通信 这让我很痛苦 由于某些原因 我想
  • C++ 引用与返回值

    我理解引用的原则是避免复制大型结构 但是如果您正在编写的函数本身创建了大型结构怎么办 与将目标对象作为引用传递并从函数内部填充相比 在本地创建变量然后返回它是否效率较低 或者更有可能耗尽内存 我似乎无法很好地表达 所以一个具体的例子 假设一
  • JS 对象键带引号还是不带引号? [复制]

    这个问题在这里已经有答案了 可能的重复 带引号和不带引号的对象键有什么区别 感兴趣吗 什么是正确的方法 是否将对象键写在引号中 那是 var obj name Jhon or var obj name Jhon 例如 从 php 代码ech
  • Git 中的 HEAD 和 ORIG_HEAD

    这些符号代表什么以及它们的含义是什么 我在官方文档中找不到任何解释 HEAD是 直接或间接 即符号 对当前提交的引用 这是您已在工作目录中签入的提交 除非您进行了一些更改或同等更改 并且是在 git commit 之上创建新提交的提交 通常
  • 无法在具有 @objc 属性的协议中使用自定义类?

    我正在尝试创建一个用于 JSON 加载委托的协议 JSONLoaderDelegate 我的另一堂课叫做JSONLoader 应该将事件分派给它的委托 实现JSONLoaderDelegate协议 如 self delegate jsonL
  • Laravel 8 - 找不到驱动程序:Illuminate\Database\QueryException 无法找到驱动程序(SQL:从 `list` 中选择 *)

    我已经在我的 Linux Mint 20 上安装了 Laravel 8 作为我的个人实验 所以我对 Laravel 的新版本很陌生 我搜索了许多来源如何使用 CRUD 方法显示表 以便该表显示在网络中 其中包含来自 MySQL 数据库的数据
  • Spring data JPA:在结果元组中找不到别名!执行自定义查询时出错

    我正在尝试使用 mysql 数据库执行自定义查询 Queryspring data jpa 的注解 该表是 Field Type Null Key Default Extra id decimal 10 0 NO PRI NULL firs
  • iOS中如何实现弹出对话框?

    计算后 我想显示一个弹出窗口或警报框 向用户传达消息 有谁知道我在哪里可以找到有关此的更多信息 Yup a UIAlertView可能就是您正在寻找的 这是一个例子 UIAlertView alert UIAlertView alloc i
  • std::bind 创建的函子住在哪里?

    函数指针可以指向自由函数 函数对象 成员函数调用的包装器等任何内容 但是 std bind 创建的函子可以有状态 也可以有自定义创建的函子 该状态分配在哪里 谁在删除它 考虑下面的例子 当向量被删除时 状态 数字10 会被删除吗 谁知道在函
  • 计算GPS坐标以形成给定大小的半径

    我想出了一种方法 它接受坐标和范围 以英里为单位 并返回围绕原点形成圆圈的坐标列表 我似乎已经取得了一些进展 但我在降低范围部分方面遇到了问题 private const Double LAT MILE 0 0144839 private
  • 仅使用 XAML 在左键单击时显示上下文菜单

    WPF 的默认行为ContextMenu是当用户右键单击时显示它 我想要ContextMenu当用户单击鼠标左键时显示 看起来这应该是一个简单的属性ContextMenu 但事实并非如此 我操纵了它 这样我就可以处理LeftMouseBut
  • 为什么匿名函数表达式和命名函数表达式的初始化如此不同?

    我正在看第13条或 ECMAScript 规范 v 5 匿名函数表达式的初始化如下 返回按照 13 2 中的规定创建新 Function 对象的结果 其参数由 FormalParameterListopt 指定 主体由 FunctionBo
  • 作曲家自动加载

    我目前正在尝试将 PSR 0 自动加载与 Composer 结合使用 但出现以下错误 Fatal error Class Twitter Twitter not found 我的目录结构如下 Project src Twitter Twit
  • 如何将多处理与请求模块一起使用?

    我是 python 的新开发者 我的代码是下面的代码 import warnings import requests import multiprocessing from colorama import init init autores
  • 为什么我需要在 g++ 中使用 typedef typename 而不是 VS?

    自从 GCC 发现我有这个问题以来已经有一段时间了 但它今天才发生 但我一直不明白为什么 GCC 需要在模板中使用 typedef typename 而 VS 和我猜 ICC 不需要 typedef typename 是一个 bug 还是一
  • 如何将图像作为资源包含在 C++ 可执行文件中?

    是否可以将图像 jpegs 作为资源包含在 win32 c 可执行文件中 如果是这样怎么办 如果仅是 Windows 则使用自定义资源 如果您想要跨平台的东西 那么请执行我为最近的项目所做的操作 创建一个将 JPEG 编码为char buf
  • Capybara 与 jquery.selectize 的集成测试

    如何使用表单编写水豚集成测试jquery selectize 我想测试用户输入几个值 这里的大多数答案都从底层改变了内容 并且与用户交互不同 这是一个接近用户所做操作的版本 waits for the text to show up in
  • Google App Engine 应用程序实例回收和响应时间

    我在 GAE for Java 小组上发布了这篇文章 但我希望在这里更快地得到一些答案 我决定对我的应用程序进行一些长期运行的性能测试 我 每 5 30 分钟创建一些小型客户端点击应用程序 我运行 3 5 与此类客户端的线程数 我注意到响应