您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

带宽/吞吐量测试 (NTTTCP)

在 Azure 中测试网络吞吐量性能时,最好使用以要测试的网络为目标并能最大程度减少其他资源(这些资源可能会对性能产生影响)的使用的工具。 建议使用 NTTTCP。

将此工具复制到大小相同的两个 Azure VM 中。 一个 VM 充当发送方,另一个充当接收方。

部署 VM 以进行测试

为了达到此测试的目的,两个 VM 应位于同一邻近放置组或同一可用性集中,这样便可使用其内部 IP 并从测试中排除负载均衡器。 也可以使用 VIP 进行测试,但这类测试不在本文档的讨论范围内。

记下接收方的 IP 地址。 暂且将该 IP 称为“a.b.c.r”

记下 VM 上的核心数。 我们将其称为“#num_cores”

在发送方 VM 和接收方 VM 上运行 NTTTCP 测试 300 秒(5 分钟)。

提示:第一次设置此测试时,可以尝试更短的测试时间,以更快地获取反馈。 在工具按预期工作后,将测试时间延长到 300 秒,以获取最准确的结果。

备注

发送方 接收方必须指定 相同的 测试持续时间参数 (-t)。

测试单个 TCP 流 10 秒:

接收方参数:ntttcp -r -t 10 -P 1

发送方参数:ntttcp -s10.27.33.7 -t 10 -n 1 -P 1

备注

以上示例应仅用于确认配置。 本文档稍后会介绍测试的有效示例。

测试运行 WINDOWS 的 VM:

在 VM 上安装 NTTTCP。

下载最新版本:https://github.com/microsoft/ntttcp/releases/download/v5.35/NTttcp.exe

或查看 GitHub 概述页面:https://github.com/microsoft/ntttcp\

请考虑将 NTTTCP 放在单独的文件夹中,如 c:\tools

允许 NTTTCP 通过 Windows 防火墙

在接收方上,在 Windows 防火墙上创建允许规则,以允许接收 NTTTCP 流量。 最简单的方法是按名称允许整个 NTTTCP 程序,而不是允许特定的 TCP 端口入站。

允许 ntttcp 通过 Windows 防火墙,如下所示:

netsh advfirewall firewall add rule program=<PATH>\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY

例如,如果已将 ntttcp.exe 复制到“c:\tools”文件夹中,则此命令为:

netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY

运行 NTTTCP 测试

在接收方上启动 NTTTCP(从 CMD 运行,而不是从 PowerShell 运行):

ntttcp -r –m [2*#num_cores],*,a.b.c.r -t 300

如果 VM 有四个核心且 IP 地址为 10.0.0.4,则为如下所示:

ntttcp -r –m 8,*,10.0.0.4 -t 300

在发送方上启动 NTTTCP(从 CMD 运行,而不是从 PowerShell 运行):

ntttcp -s –m 8,*,10.0.0.4 -t 300

等待结果。

测试运行 LINUX 的 VM:

使用 nttcp-for-linux。 可从 https://github.com/Microsoft/ntttcp-for-linux 获得它

在 Linux VM上(发送方和接收方),运行以下命令以在 VM 上准备 nttcp-for-linux:

CentOS - 安装 gcc 和 git:

  yum install gcc -y  
  yum install git -y

Ubuntu - 安装 build-essential 和 git:

 apt-get -y install build-essential  
 apt-get -y install git

SUSE - 安装 git-core、gcc 和 make:

  zypper in -y git-core gcc make

获取并安装两者:

 git clone https://github.com/Microsoft/ntttcp-for-linux
 cd ntttcp-for-linux/src
 make && make install

如 Windows 示例中一样,假设 Linux 接收方的 IP 为 10.0.0.4

在接收方上启动 NTTTCP-for-Linux:

ntttcp -r -t 300

然后在发送方上运行:

ntttcp -s10.0.0.4 -t 300

如果未给定时间参数,默认的测试持续时间为 60 秒

在运行 Windows 和 LINUX 的 VM 之间进行测试:

在此方案中,我们应启用非同步模式,以便可以运行测试。 通过对 Linux 使用“-N 标志” ,对 Windows 使用“-ns 标志” 完成此操作。

从 Linux 到 Windows:

接收方 <Windows>:

ntttcp -r -m <2 x nr cores>,*,<Windows server IP>

发送方 <Linux>:

ntttcp -s -m <2 x nr cores>,*,<Windows server IP> -N -t 300

从 Windows 到 Linux:

接收方 <Linux>:

ntttcp -r -m <2 x nr cores>,*,<Linux server IP>

发送方 <Windows>:

ntttcp -s -m <2 x nr cores>,*,<Linux  server IP> -ns -t 300

测试云服务实例:

需要将以下部分添加到 ServiceDefinition.csdef

<Endpoints>
  <InternalEndpoint name="Endpoint3" protocol="any" />
</Endpoints> 

后续步骤