我的资源位于不同的 AWS 账户和 AWS 区域,其中流量通过 AWS Transit Gateway 进行传输。我想解决账户或区域之间连接缓慢的问题。
解决方法
要排查跨账户和跨区域资源之间的性能问题,请检查您的 IP 地址流和路由路径。
测试连接以确定源和目标之间的延迟
完成以下步骤:
-
在 AWS 主机上,确认端口 443 和其他所需端口处于开放状态,以供您的应用程序从目标端测试连接。
-
在 Eli Fulkerson 网站上下载 tcping 工具。
-
在 Wireshark 网站上下载门户 Wireshark 工具。
-
运行以下 tcping 命令以确定 TCP 延迟:
tcping TARGET-IP PORT
**注意:**将 TARGET-IP 替换为目标主机的 IP 地址,将 PORT 替换为您的端口号。运行 tcping 命令时,请使用 Wireshark 同时捕获源和目标资源上的数据包。
-
查看来自 Wireshark 的以下数据包捕获结果:
查找源向目标主机发送的初始 SYN 数据包时间戳 0.00000。
查找目标主机向源发送的 SYN-ACK 数据包。时间戳差值即为往返时间 (RTT)。
找到返回到主机的最终 ACK 数据包,并记下其处理时间。
**注意:**有关趋势的详细视图,请使用 Wireshark 的绘制图表功能。有关更多信息,请参阅 Wireshark 网站上的 TCP stream graphs(TCP 流图)。
测试连接链路的最大吞吐量
要测量源资源和目标资源之间的带宽,并确定利用率高时连接中断的情况,请完成以下步骤:
- 在源计算机和目标计算机上安装 iPerf。
- 在两个端点之间运行 iPerf 测试。
- 在 iPerf 测试期间再次执行数据包捕获,收集有关流量的详细信息。
跟踪网络路径以识别峰值利用率期间的错误
如果您使用 Windows,则使用 WinMTR My Traceroute (MTR) 工具来执行跟踪。要下载 WinMTR,请参阅 SOURCEFORGE 网站上的 WinMTR。
如果您使用 macOS 或 Linux,请运行以下 mtr 命令来识别连接路径上的数据包丢失和延迟:
mtr -u -P 443 -c 20 --report IP ADDRESS
**注意:**将 IP ADDRESS 替换为您的 IP 地址。mtr 命令在端口 443 上使用 UDP 并运行 20 次轮询以显示结果。
查看 tcping、iPerf 和 mtr 测试结果
请执行以下操作:
- 使用 tcping 结果检查延迟值是否一致。延迟变化大表示存在网络拥塞或路由问题。
- 使用 iPerf 结果将实际带宽与连接类型的预期吞吐量进行比较。差异较大表明存在网络瓶颈或资源配置错误。
- 使用 MTR 结果检查路由中每一跳的延迟持续增加以及数据包丢失发生的位置。
- 定期进行网络性能测试和基准测试,以便建立基准并快速识别差异。
实施最佳实践
请执行以下操作:
相关信息
用于 Amazon VPC 的 AWS Transit Gateway 是什么?
什么是 AWS Site-to-Site VPN?
对 Direct Connect 进行故障排除
什么是 Amazon VPC?