Google App Engine应用程序非常慢

时间:2009-12-06 08:58:43

标签: python django google-app-engine

我在Google App Engine中创建了一个Hello World网站。它使用的是没有任何补丁的Django 1.1。

尽管它只是一个非常简单的网页,但它需要很长时间,而且经常会超时。

有任何解决此问题的建议吗?

注意:第一次通话后它会快速响应。

8 个答案:

答案 0 :(得分:19)

现在Google已经添加了一个付款选项“Always On”,每天0.30美元。

使用此功能,您的应用程序将不再需要冷启动。

  

始终开启

     

虽然热身请求有助于你   应用规模平稳,他们这样做   如果您的应用程序非常有帮助   交通量低。对于   低优先级的高优先级应用程序   流量,您可以通过预订实例   App Engine的Always On功能。

     

Always On是一项高级功能   保留你的三个实例   申请,永远不要把它们关掉,   即使申请没有   交通。这减轻了影响   在应用程序上加载请求   有少量或可变数量的   交通。此外,如果一个永远在线   实例意外死亡,App Engine   自动重启实例   有一个热身请求。结果是,   Always On应用程序应该确定   做尽可能多的初始化   在预热请求期间可能。

     

即使在启用Always On后,您的   应用可能会遇到加载   请求是否突然增加   在交通中。

     

要启用始终开启,请转到结算   应用程序中的设置页面   管理控制台,然后单击始终打开   复选框。

http://code.google.com/intl/de-DE/appengine/docs/adminconsole/instances.html

答案 1 :(得分:14)

这是一个可怕的建议,但无论如何我都会成功:

构建一个小客户端应用程序,或者只使用wgetcron定期访问您的应用,可能每5分钟左右一次。这应该会让谷歌无法进入休眠状态。

我说这是一个可怕的建议,因为这是浪费资源和滥用谷歌的免费服务。我希望你只在短暂的测试/启动阶段这样做。

答案 2 :(得分:7)

到目前为止总结this thread

  • 冷启动需要很长时间
  • Google不鼓励ping应用以保持热情,但人们不知道替代方案
  • an issue filed来支付一个热门实例(Java)
  • Python有an issue filed。除其他外,.py文件未预编译。
  • 某些应用受到的影响尤其严重(无法找到Google网上论坛参考或发布)
  • March 2009 thread about Python说< 1s(!)

我在这个问题上看不到关于Python的讨论。

答案 3 :(得分:4)

如果它在第一次请求后迅速响应,则可能只是启动并运行相关进程的情况。不可否认,它需要很长时间才会超时,这有点令人惊讶。这是在您更新应用程序并验证AppEngine仪表板是否已准备就绪之后?

在许多Web框架中,“第一次打击缓慢”很常见。在开发过程中有点痛苦,但对生产来说不是问题。

答案 4 :(得分:4)

可能会增加响应时间的另一个提示。

启用结算会增加配额,而且根据我的个人经验,也会增加应用的整体响应。可能是因为谷歌拥有支持计费的应用程序的优先级更高。例如,一个已禁用结算的应用,最多可发送5-10封电子邮件/请求,启用了结算功能的应用可轻松应对200封电子邮件/请求。

请务必设置较低的结算级别 - 您永远不知道Slashdot,Digg或HackerNews何时会注意到您的网站:)

答案 5 :(得分:3)

我遇到与基于pylons的app相同的情况。我将初始页面服务器设置为静态,并在用户输入凭据之前在其中进行虚拟ajax调用以启动应用程序。这通常足以避免冗长的响应......只是在您实际拥有一百万用户之前可能会使用的想法;)。

答案 6 :(得分:3)

我使用pingdom的原因显而易见 - 没有冷启动是一个奖励。当然,客户很快就会涌入,这将是一个无问题的

答案 7 :(得分:1)

您可以尝试CloudUp。它会定期ping您的Google应用以使其保持活跃状态​​。它是免费的,您可以根据需要添加任意数量的应用程序。它还支持azure和heroku。

相关问题