我的应用程序需要大约30秒才能预热,而且我经常发现,如果我让本地服务器运行一段时间没有任何活动,那么新请求的速度就会变慢。
我试图对热身端点进行重复CURL,但不知怎的,它不能正常工作。
如何将本地应用服务器配置为具有最少数量的驻留实例,例如生产中?
答案 0 :(得分:0)
您的本地开发环境只不过是一个网络服务器,只需进行一些调整即可模拟Google基础架构。驻留实例的概念无效,因为您没有像生产环境那样启动和停止虚拟机池。
如果你的应用在一些空闲时间后变慢,最可能的原因是:
1)您的本地操作系统正在剥离资源并将其分配到其他地方。
2)您的应用正在运行一些维护过程(垃圾收集?)并销毁您在预热期间构建的任何内存相关对象。
如果没有关于您的应用的任何信息,很难说这两个问题都可以通过在您的应用上实现最低级别的活动来解决,考虑使用一些cron(不是GAE' s,因为它不起作用dev)每隔X分钟执行一次ping操作,访问一些关键资源,以便您的应用程序保持活动状态。
旁注:30秒的预热会对用户体验产生非常糟糕的影响,因为您的实例将会不断重启而关闭。您可以通过使用常驻实例来减少打击,但您应该考虑优化启动时间,以便充分利用GAE的基础架构。