1-2天前,使用相同的代码启动时间从1-3秒增加到10-30秒。
我使用的是python2.7多线程。
此请求中的代码从memcache中读取一个值并将其返回给用户。如果memcache为空,则它从本地文件系统中模板读取并呈现简单的html-template。两者都使用相同的cpu_ms。
相同的代码在测试应用程序中运行良好。测试应用程序的启动时间大约为1-2秒。
我昨天晚上发了生产问题,但是没有收到回复。
我尝试将实例类型从F1更改为F4,F4的启动时间为8-10秒。
我的应用的AppID : f1f2ru
问题前的日志记录:

启动问题时的日志记录:

立即记录日志:

测试应用中的日志记录:

发布于 2012-09-28 23:09:01
我不知道第一次增加启动时间的原因。
增加操作时间的问题是我的错误:我的应用程序执行查询: object.date < datetime.datetime.now()
并且我的数据存储没有date < datetime.now()的对象,但是它有date = None (null)的对象。我忘记了null,它是正常的,索引值和null <任何值。
发布于 2012-09-25 18:58:17
没有日志等,就很难知道。但谁知道呢,也许谷歌的资源不足,你的免费应用程序正在付出代价。
https://developers.google.com/appengine/docs/adminconsole/instances#Loading_Requests
目前,在我的一个非常简单的应用程序上,我从cold获得了大约5秒的启动时间。然而,30秒看起来确实是很长的时间。
https://developers.google.com/appengine/docs/python/config/appconfig#Warmup_Requests
应用程序引擎经常需要将应用程序代码加载到新实例中。当您重新部署应用程序时,当负载模式增加到超出当前实例的容量时,或者只是由于维护或修复底层基础设施或物理硬件时,就会发生这种情况。
或者干脆付钱:
https://developers.google.com/appengine/docs/adminconsole/performancesettings?hl=en
空闲实例滑块控制应用程序在任何给定时间可用的空闲实例的最小和最大数量。
上方的滑块设置空闲实例的最小数量:
注意:为了指定空闲实例的最小数量,您必须拥有付费应用。
像往常一样,你付的钱越多,服务就越好。
发布于 2012-09-25 21:20:43
这些库是与之前还是之后相同的?向源代码添加库可以而且通常确实会增加启动时间(AppEngine需要加载它们)。这是很容易被忽视的事情,而且他们中的一些人真的非常臃肿。
https://stackoverflow.com/questions/12581110
复制相似问题