5

我有一个应用程序引擎(付费)应用程序,平均每天访问量约为 200 次(1000 次页面浏览量,偶尔会飙升至 1000 次访问量和 10000 次页面浏览量或更多),我目前每 5 分钟通过 cron 作业唤醒它确保合理的性能。这在应用程序引擎延迟峰值期间并不总是有效(幸运的是,最近这种情况并不经常发生),当这种情况发生时,我的 ajax 调用会严重超时。此外,cron-job 策略并不理想,因为它会消耗配额。

目前我在“自动”上有空闲实例和待处理延迟设置。

有没有人有手动调整这些设置的经验,在给定流量的情况下,有哪些典型值可以保证我的应用程序性能更好?

4

1 回答 1

2

而不是 cron 作业,只需将 Idle Instances 设置为 1。Idle Instances 是处于“保留”状态的实例,可让您即时响应增加的负载。因此,如果您的负载需要三个实例,并且您将 Idle Instance 设置为一个,那么您将有 4 个实例在运行。

不利的一面是,您将始终为比当前使用的实例多支付一个实例。但是,请记住,您每天可以获得 28 个免费实例小时,免费覆盖一个空闲实例(除非您有一个实例实际服务请求,然后再增加一个空闲实例将是额外费用)。

此外,如果您设置了 Idle Instances,则 Pending Latency 将几乎没有影响,因为当需要启动新实例时会咨询 Pending Latency,但您始终保留一个实例。警告:如果应用程序代码出问题或写得不好(例如在请求处理程序中调用外部服务),这可能不是真的,导致响应时间异常长。

底线:将 Idle Instances 设置为 1,然后将 Pending Latency 设置为您的应用仍然可以接受的某个最大值。

于 2012-08-08T18:28:56.597 回答