google-app-engine - App Engine 正在使用的 IP 地址达到配额的速度太快

标签 google-app-engine google-cloud-platform google-compute-engine google-app-engine-php

我有一个在 App Engine 中运行的网络服务器,客户端是一个移动应用程序。我看到,一旦我们扩展到大量用户,移动设备上的许多请求就开始失败。然而,我没有在我们的日志中看到任何失败。我在我们的配额中注意到,Compute Engine APIip address in use 的最大值为 8(即使我们没有在 Compute Engine 上运行任何服务)。 我不确定这是否是根本原因,但以前不是这样,我想知道是否有任何关于如何解决此问题的建议,或者是否有更好的方法来构建我们的服务器以满足我们的用例。

编辑: 我们当前的配置是 App Engine 上的 flex 环境,最少有 2 个实例。我们还有一个 MySQL 实例。到目前为止,这些几乎是我们使用过的所有内容。

runtime: php
env: flex

api_version: 1

handlers:
- url: /.*
  script: public/index.php

runtime_config:
  document_root: public

beta_settings:
    # for Cloud SQL, set this value to the Cloud SQL connection name,
    # e.g. "project:region:cloudsql-instance"
    cloud_sql_instances: "<project>:<region>:<sql-instance>"

最佳答案

您没有在问题中提及它,但我相信您使用的是 App Engine 柔性环境。在幕后,App Engine 弹性应用程序在您项目中的(对您隐藏的)Compute Engine 实例上运行。因此,它实际上也违反了 Compute Engine 配额,包括您的 App Engine 区域的“正在使用的 IP 地址”。

“正在使用的 IP 地址”会影响您的 App Engine Flex 应用,因为它会限制您的应用能够扩展到的实例数量,因为每个实例都使用自己的 IP。例如,根据您提供的 app.yaml 文件,您的缩放设置默认为自动缩放,最少 2 个实例,最多 20 个实例。当使用您的应用的用户数量增加时,“正在使用的 ip 地址”配额将阻止您的应用升级到 8 个以上实例。

另一件需要注意的事情是,您的服务的先前版本可能仍在运行。如果它们具有相同的缩放设置,这意味着它们将至少运行 2 个实例,这也将计入“正在使用的 ip 地址”配额。

由于您无法将 App Engine 实例部署在您为 App Engine 应用程序设置的另一个区域的网络中,因此这里唯一的解决方案是请求增加配额。在您的开发者控制台中,转到 IAM & admin > 配额,选择此特定配额并单击顶部的“编辑配额”按钮并按照说明进行操作。

关于google-app-engine - App Engine 正在使用的 IP 地址达到配额的速度太快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52979405/

相关文章:

java - GAE Jersey RESTful 服务 POST JSON

go - golang Context的正确风格和用法是什么?

hadoop - 如何在现有集群上升级 hadoop - google cloud

google-cloud-platform - 如何监控在 GCE 上运行的容器虚拟机的内存使用情况

php - Google App Engine (GAE) 本地开发环境是否包含 Memcached 服务?

google-app-engine - Cron 作业未运行(在开发中)

google-app-engine - 获取 Google Cloud Engine VM 的根密码

unix - Google Cloud Platform 访问张量板

go - 无法从同一区域的 Compute Engine 访问 GCP MemoryStore