Jam*_*oun 4 google-app-engine google-compute-engine google-cloud-platform google-app-engine-php
我有一个在 App Engine 中运行的网络服务器,客户端是一个移动应用程序。我看到,一旦我们扩展到大量用户,移动设备上的许多请求就会开始失败。但是,我在我们的日志中没有看到任何故障。我注意到在我们的配额中,我们的ip address in use
forCompute Engine API
最大为 8(即使我们没有在 Compute Engine 上运行任何服务)。我不确定这是否是根本原因,但以前不是这样,我想知道是否有任何关于如何解决此问题的建议,或者是否有更好的方法来构建我们的服务器以满足我们的用例。
编辑:我们当前的配置是 App 引擎上的 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>"
Run Code Online (Sandbox Code Playgroud)
您没有在问题中提到它,但我相信您正在使用 App Engine 柔性环境。在幕后,App Engine Flex 应用程序在(对您隐藏)您项目中的 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 和管理 > 配额,选择此特定配额并单击顶部的“编辑配额”按钮并按照说明进行操作。
归档时间: |
|
查看次数: |
684 次 |
最近记录: |