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

标签 java spring google-app-engine

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

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

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

Uneven response time between connection to server to first byte sent

Application instances seem to be too aggressively recycled

Getting 'Request was aborted after waiting too long to attempt to service your request.' after application idle

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

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

有什么解决办法吗?

在解决(破解)我遇到的 App Engine 的众多限制之后 在开发我认为会让我搬走的应用程序时 App Engine ......这对一直以来思考如何 赢得与 GAE 问题比如何解决我的应用程序问题...

有什么帮助吗?

问候 康拉德

最佳答案

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

这是一件可以快速实现的事情,但似乎违背了该平台的精神。制作您的数字并检查它是否值得。

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

我不知道除了这两个你还有别的选择吗

关于java - Google App Engine 应用程序实例回收和响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2051036/

相关文章:

python - Flask 蓝图的注册顺序

google-app-engine - 谷歌应用引擎中的数据库设计

google-app-engine - 应用引擎上的爬虫

java - 我想打印有多少数字大于平均值

Spring Boot 应用程序在没有 -Djava.net.preferIPv4Stack=true 和 -Djava.net.preferIPv4Addresses 参数的情况下监听 IPv6

java - 在 spring boot 应用程序中测试 websocket

java - Spring AOP 关于注解 Controller 的建议

spring - 找不到类 WebSecurityExpressionHandler

调用方法时出现 java.lang.StackOverflowError

java - 识别被单击的单元格