0

1-2 天前启动时间从 1-3 秒增加到 10-30 秒,使用相同的代码。

我使用 python 2.7 多线程。

此请求中的代码从 memcache 中读取一个值并将其返回给用户。如果 memcache 为空,它会从本地文件系统中的模板读取并呈现简单的 html 模板。两者都使用相等的 cpu_ms。

相同的代码在测试应用程序中工作正常。测试应用程序的启动时间约为 1-2 秒。

我昨天晚上发送了生产问题,但没有收到答复。

我尝试将实例类型从 F1 更改为 F4,F4 的启动时间为 8-10 秒。

我的应用程序的 AppID:f1f2ru

问题前的日志记录: 在此处输入图像描述

启动问题的日志记录: 在此处输入图像描述

现在记录日志: 在此处输入图像描述

测试应用中的日志记录: 在此处输入图像描述

4

3 回答 3

1

没有日志等,很难知道。但谁知道呢,也许 Google 的资源不足,而您的免费应用正在为此付出代价。

https://developers.google.com/appengine/docs/adminconsole/instances#Loading_Requests

目前,在我的一个非常简单的应用程序上,我的启动时间大约为 5 秒。然而,30 秒似乎很长。

https://developers.google.com/appengine/docs/python/config/appconfig#Warmup_Requests

App Engine 经常需要将应用程序代码加载到新实例中。当您重新部署应用程序时,当负载模式增加超过当前实例的容量时,或者仅仅是由于底层基础设施或物理硬件的维护或维修,就会发生这种情况。

或者只需支付:

https://developers.google.com/appengine/docs/adminconsole/performancesettings?hl=en

Idle Instances 滑块控制在任何给定时间您的应用程序可用的空闲实例的最小和最大数量。

上面的滑块设置空闲实例的最小数量:

注意:为了指定最小空闲实例数,您必须拥有付费应用程序。

像往常一样,您支付的越多,服务就越好。

于 2012-09-25T10:58:16.593 回答
0

之前或之后的图书馆是一样的吗?将库添加到源代码可以而且通常确实会增加启动时间(AppEngine 需要加载它们)。这是很容易被忽视的东西,其中一些真的很臃肿。

于 2012-09-25T13:20:43.427 回答
0

我不知道第一次增加启动时间的原因。

增加操作时间的问题是我的错误:我的应用程序查询:object.date < datetime.datetime.now()

并且我的数据存储没有日期 < datetime.now() 的对象,但它有 date = None (null) 的对象。我忘记了 null 它是正常的索引值和 null < 任何值。

于 2012-09-28T15:09:00.577 回答