执行环境简介

默认情况下,Cloud Run 服务在第一代执行环境中运行,该环境具有冷启动时间快和能够模拟大多数但不是全部操作系统调用的特点。最初,这是 Cloud Run 中的服务唯一可用的执行环境。

第二代执行环境提供完整的 Linux 兼容性,而不仅是系统调用模拟。此执行环境提供:

  • 更高的 CPU 性能
  • 更高的网络性能,尤其是在数据包丢失的情况下
  • 完整的 Linux 兼容性,包括支持所有系统调用、命名空间和 cgroup
  • 网络文件系统支持

在预览版期间,虽然第二代执行环境在持续负载下的执行速度通常较快,但它的冷启动时间比第一代执行环境更长。

您可以在部署新服务或服务的新修订版本时,为 Cloud Run 服务指定执行环境。如果您未指定执行环境,则默认使用第一代。

如何选择执行环境

如果存在以下任一情况,则应使用第一代执行环境:

  • 您的 Cloud Run 服务具有突发流量,并且需要快速横向扩容到许多容器实例。
  • 您的 Cloud Run 服务的流量较低,导致系统频繁地从零开始横向扩容。
  • 您希望使用的内存少于 512 MiB。第二代执行环境至少需要 512 MiB 的内存。

请注意,第一代执行环境与第二代执行环境相比,冷启动速度更快,但第二代执行环境会在预览版结束时缩小此性能差距。

如果以下任意一项适用于您的 Cloud Run 服务,则应使用第二代执行环境:

  • 您的服务需要使用仅受第二代执行环境支持的网络文件系统。
  • 您的服务的流量相当稳定,冷启动现象很少。
  • 您的服务具有 CPU 密集型工作负载。
  • 您的服务可以受益于更高的网络性能。
  • 由于未实现的系统调用,您的服务需要使用在第一代执行环境中运行时存在问题的软件。
  • 您的服务需要 Linux cgroup 功能。

后续步骤