Appengine - 限制实例数

Chr*_*ris 16 google-app-engine

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

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

Che*_*ana 18

我的应用程序目前只有少量流量,所以支付一点钱就是我的事.在学习并尝试了如何优化实例类的许多选项之后.我发现以下设置可让我在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
Run Code Online (Sandbox Code Playgroud)

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

instance_class: B1
basic_scaling:
  max_instances: 1
  idle_timeout: 10m
Run Code Online (Sandbox Code Playgroud)

这里是放在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>
Run Code Online (Sandbox Code Playgroud)

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

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

  • 如果您的F类模块运行超过28小时的每日免费配额,请考虑使用B类创建另一个模块.通过此,您将获得另外9个免费实例小时.您可以使用它来运行任何其他工作,如cron,taskbackground.确保/ _ah/stop的自动关闭正常工作.不要让长时间闲置的实例计算在内.
  • 使用最少的实例简化您的主页或登录页面.如果可能,不超过一个实例.只有当访问者在您的页面上执行某些操作时,才允许它运行更多实例 考虑到优化您的网站被采取的免费配额Blob存储,数据存储数据存储.您还可以使用Google Hosted Libraries上的脚本来最小化传出带宽.
  • 每当流量请求进入模块的处理程序时,它肯定会运行一个实例.除了设置静态缓存过期之外,建议使用Google云端存储(GCS)客户端库gsutil从您的存储桶中提供静态文件,如html,images,js和css .
    然后将其设置为公共读取.使用此方案,您的实例将显着减少,因为它不会受到请求的影响.您可能会认为GCS每月定价每小时实例成本累计的每月账单要便宜得多.
    找到如何使用你的水桶配置为一个网站的子域(包括WWW)作为解释在这里.另外,如果你想用你的空白领域,你可以将其通过重定向到www 设置的A(主机)和AAAA,你甚至可以把它完全独立的,如果您的裸域可以被设置成一个别名/ AName直接到GCS (c.storage.googleapis.com).
  • 如果您的应用程序基于数据操作动态运行,您需要知道每种类型的数据库(如MySQL,云存储等)也将运行实例或操作计数器.确保您阻止任何不需要的机器人流量,而不是为动态页面提供服务.我建议你也考虑使用" Datastore Small Operations ".与其他数据库操作相比,这种数据操作将花费您免费.当然,您需要优化代码才能像Quercus一样使用它.有一些关于它的讨论不错这里,这里这里.

  • 您最后一个项目中描述的方法违反了使用条款协议。https://cloud.google.com/terms/?csw=1:“限制。客户不得……创建多个应用程序、帐户或项目来模拟或充当单个应用程序、帐户或项目(分别)或以旨在避免产生费用的方式访问服务” (2认同)

归档时间:

查看次数:

8219 次

最近记录:

6 年,11 月 前