使用空闲实例和待处理延迟设置进行AppEngine性能调整

Joh*_*dol 5 java performance google-app-engine

我有一个应用程序引擎(付费)应用程序,平均每天访问量大约200次(1000页浏览量,偶尔会达到1000次访问次数和10000次页面查看次数)我现在每隔5分钟通过cron作业将其唤醒确保合理的表现.这在应用程序引擎延迟峰值期间并不总是有效(幸运的是,这种情况最近并不常发生),当发生这种情况时,我的ajax会调用超时.此外,cron-job策略并不理想,因为它会牺牲配额.

目前,我在"自动"上都有空闲实例和待定延迟设置.

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

Pet*_*ego 2

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

缺点是您总是需要为比当前使用的多一个实例付费。但是,请记住,您每天可以获得 28 个免费实例小时,免费覆盖一个空闲实例(除非您有一个实例实际服务请求,否则再增加一个空闲实例将产生额外费用)。

此外,如果您设置了空闲实例,则挂起延迟将几乎没有影响,因为当需要启动新实例时会参考挂起延迟,但您始终保留一个实例。警告:如果应用程序代码混乱或编写得不好(例如在请求处理程序内调用外部服务),则这可能不是真的,从而导致响应时间异常长。

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