我有一个应用引擎(付费)应用,平均每天访问量约为200次(1000次网页浏览量,偶尔会达到1000次访问次数和10000次网页浏览次数),而且我目前正在通过cron作业将其唤醒5分钟,以确保合理的性能。这在应用程序引擎延迟峰值期间并不总是有效(幸运的是,这种情况最近并不常发生),当发生这种情况时,我的ajax会调用超时。此外,cron-job策略并不理想,因为它会牺牲配额。
目前我在“自动”上都有空闲实例和待定延迟设置。
是否有人有手动调整这些设置的经验,以及哪些典型值可以保证在给定流量的情况下在我的应用上获得更好的性能?
答案 0 :(得分:2)
而不是cron job,只需将Idle Instances设置为1. Idle Instances是“reserve”中的实例,可让您立即响应增加的负载。因此,如果您有一个需要三个实例的负载并且您将Idle Instance设置为1,那么您将运行4个实例。
缺点是你将总是支付比目前使用的更多的实例。但是,请记住,您每天可获得28个免费实例小时,免费覆盖一个空闲实例(除非您有一个实例实际提供请求,然后再增加一个空闲实例)。
此外,如果您设置了空闲实例,则Pending Latency几乎没有效果,因为在需要启动新实例时会查询Pending Latency,但您总是有一个实例保留。警告:如果应用程序代码变得混乱或写得不好(比如在请求处理程序中调用外部服务),那么我就不是这样了,导致异常长的响应时间。
底线:将空闲实例设置为1,然后将待定延迟设置为您的应用仍可接受的某个最大值。