虚拟机网络带宽
Azure 提供各种 VM 大小和类型,并且每一种都提供不同的性能组合。 其中一种是网络吞吐量(也称带宽),以兆位/秒 (Mbps) 表示。 由于虚拟机托管在共享硬件上,因此网络容量必须在共享同一硬件的虚拟机中公平地共享。 在分配时,较大的虚拟机相对于较小的虚拟机会获得相对较多的带宽。
分配给每个虚拟机的网络带宽按虚拟机的传出(出站)流量计算。 从虚拟机流出的所有网络流量均计入分配限制,不管流向哪个目标。 例如,如果虚拟机有 1000-Mbps 的限制,则无论出站流量是发往同一虚拟网络中的其他虚拟机,还是发往 Azure 外部,该限制都适用。
流入量不直接计量或限制。 但是,其他因素(例如 CPU 和存储限制)可能会影响虚拟机的处理传入数据的能力。
加速网络是一项旨在改进网络性能(包括延迟、吞吐量和 CPU 使用率)的功能。 虽然虚拟机的吞吐量可以通过加速网络来改进,但仍受分配给该虚拟机的带宽的限制。 若要详细了解如何使用加速网络,请查看适用于 Windows 或 Linux 虚拟机的加速网络。
Azure 虚拟机必须有一个(但也可能有多个)连接的网络接口。 分配给某个虚拟机的带宽是流经所有网络接口(已连接到该虚拟机)的所有出站流量的总和。 换言之,分配的带宽是针对每个虚拟机的,不管为该虚拟机连接了多少网络接口。 若要了解不同的 Azure VM 大小支持的网络接口数,请查看 Azure Windows 和 Linux VM 大小。
预期的网络吞吐量
若要详细了解每种 VM 大小支持的预期出站吞吐量和网络接口数,请查看 Azure Windows 和 Linux VM 大小。 选择一个类型(例如“常规用途”),然后在生成的页面上选择大小和系列,例如“Dv2 系列”。 每个系列提供一个表,表中的最后一列包含网络规格,列标题为,
最大 NIC 数/预期网络性能 (Mbps)。
吞吐量限制适用于虚拟机。 吞吐量不受以下因素影响:
网络接口数:带宽限制是源自虚拟机的所有出站流量的累积。
加速网络:尽管此功能有助于流量达到已发布的限制,但不会更改限制。
流量目标:所有目标都计入出站限制。
协议:基于所有协议的所有出站流量都计入限制。
网络流限制
除了带宽,VM 上任意给定时间存在的网络连接数目也可能影响其网络性能。 Azure 网络堆栈保留名为“流”的数据结构中 TCP/UDP 连接的每个方向的状态。 典型的 TCP/UDP 连接将创建两个流,一个用于入站方向,另一个用于出站方向。 每个流通过 5 元组(协议、本地 IP 地址、远程 IP 地址、本地端口和远程端口)信息来区分。
在终结点之间进行数据传输时,除了执行数据传输的流以外,还必须创建多个流。 例如,为 DNS 解析创建的流,以及为负载均衡器运行状况探测创建的流。 网关、代理和防火墙等网络虚拟设备 (NVA) 会会看到为在设备处终止和由设备发起的连接所创建的流。
流限制和活动连接建议
针对一个 VM,Azure 网络堆栈现支持的流共计 100 万个(50 万个入站、50 万个出站)。 VM 可在不同方案中处理的活动连接总计如下所示。
对于每个方向上活动流数为 50 万个的所有 VM 大小,属于虚拟网络的 VM 可以处理 50 万个活动连接。
具有网关、代理、防火墙等 NVA 的 VM 可以处理 25 万个活动连接,并且每个方向的活动流数为 50 万个,这是由于在与下一个跃点建立新连接时,将进行转发并创建更多的新流,如上图所示。
达到此限制后,将会删除其他连接。 连接建立速度和终止速度也可能影响网络性能,因为连接的建立和终止与包处理例程共享 CPU。 建议针对预期的流量模式对工作负荷进行基准测试,并根据性能需要对工作负荷进行相应的横向扩展。
Azure Monitor 中提供的指标可用于跟踪 VM 或虚拟机规模集实例上的网络流数量和流创建速率。
后续步骤
针对虚拟机测试网络吞吐量。