Appengine - 限制实例数

问题描述 投票:16回答:1

无论如何,应该有一个限制特定数量的实例的选项。在应用程序设置菜单中,您所能做的就是限制IDLE实例的最大数量,我不确定它是否按预期工作。我的意思是我将Max Idle Instances设置为1,将Min Pending Latency设置为15秒,但我仍然看到偶尔运行2个实例,长时间没有请求。他们不应该在闲置15分钟后关闭吗?为什么它甚至用这些设置激活一个秒实例,考虑到没有请求延迟15秒?

我运行一个简单的“什么是我的IP”python应用程序,它真的不需要高性能。我的意思是,如果响应在100毫秒或5秒之后真的没有区别,重要的是只有一个实例正在运行,所以那些每天28个实例小时不会耗尽。

google-app-engine
1个回答
18
投票

我的应用程序目前只有少量流量,所以支付一点钱就是我的事。在学习并尝试了如何优化实例类的许多选项之后。我发现以下设置在运行应用程序时为我提供了最低的billing rates,并在Google Appengine上启用了结算状态。

我使用F1 Class来设置Frontend实例。 在这里我是yaml版本的代码。

instance_class: F1
automatic_scaling:
  max_idle_instances: 1  # default value
  min_pending_latency: automatic  # default value
  max_pending_latency: 30ms

我使用B1类来设置Backend实例。 在这里我是yaml版本的代码。

instance_class: B1
basic_scaling:
  max_instances: 1
  idle_timeout: 10m

这里是放在appeengine.web.xml中的代码(如果使用maven编译java)

<threadsafe>true</threadsafe>
<instance-class>B1</instance-class>
<basic-scaling>
<max-instances>1</max-instances>
<idle-timeout>10m</idle-timeout>
</basic-scaling>

通常我运行4个模块,F1类中有2个模块,B1类中有2个模块。他们每天花费我0美元。然而,当我的网站忙于对抗流量时,我将课程提升到F2和B2,每日总费用低于0.50美元。

以下是减少可计费实例的一些提示:

  • 如果您的F类模块运行的次数超过28 hours free daily quota,请考虑使用Class B创建另一个模块。通过这个你得到另一个9 free instance hours。你可以用它来运行任何其他工作,如crontaskbackground。确保/_ah/stop的自动关闭正常工作。不要让长时间闲置的实例计算在内。
  • 使用最少的实例简化您的主页或登录页面。如果可能,不超过一个实例。只有当访问者在您的页面上执行某些操作时,才允许它运行更多实例考虑通过获取blobstoredata storagedatastore的免费配额来优化您的网站。您还可以使用Google Hosted Libraries上的脚本来最小化传出带宽。
  • 每当流量请求进入模块的处理程序时,它肯定会运行一个实例。除了设置static cache expiration之外,建议您使用Google云端存储(GCS)client librarygsutil从您的存储桶中提供静态文件,如html,images,js和css。 然后将它设置为public-read。使用此方案,您的实例将显着减少,因为它不会受到请求的影响。您可能会认为GCS Monthly PricingHourly Instance Cost累积的每月账单要便宜得多。 了解如何使用子域(包括www)将您的存储桶配置为网站,如here所述。此外,如果您想使用空白域,您可以通过set将A(主机)和AAAA重定向到www,或者如果您的裸域可以直接设置为Alias/AName,您甚至可以使其完全独立。 GCS(c.storage.googleapis.com)。
  • 如果您的应用程序基于数据操作动态运行,您需要知道每种类型的数据库(如MySQL,云存储等)也将运行实例或操作计数器。确保您阻止任何不需要的机器人流量,而不是为动态页面提供服务。我建议你也考虑使用"Datastore Small Operations"。与其他数据库操作相比,这种数据操作将花费您免费。当然,您需要优化代码才能像Quercus一样使用它。有一些很好的讨论它hereherehere
© www.soinside.com 2019 - 2024. All rights reserved.