我正在对托管在 AWS 上的应用程序运行性能测试。为了检查网络延迟,我尝试 ping 有效的 URL。但是,如果我尝试 ping 托管应用程序的 VM 的 IP 地址(出于测试目的,它使用静态 IP),则会抛出请求超时异常。ping URL 时解析的地址也不同于应用程序主机 IP。
我很好奇,在访问 URL 时,网络上的哪个组件可能正在回复 ping - DNS、云的负载均衡器还是其他什么?
答案1
如果你有一个负载均衡器(正如您简要提到的)URL 中的主机名很可能会解析为负载均衡器 IP。
您的虚拟机(或EC2 实例用 AWS 的话来说)“隐藏”在负载均衡器后面,很可能无法从外部访问。要么是因为它没有公共 IP(LB 可以通过私有 IP 与其通信),和/或安全组不允许从互联网访问,只允许从负载均衡器访问。这将是常见的 AWS 部署模式。
无论如何性能测试你只需要关心 HTTP/HTTPS 吞吐量、延迟、页面加载时间、处理并发请求等。ping LB 或 EC2 毫无意义,也不会告诉你太多有关实际表现您的网站。
换句话说 - 使用您的性能测试工具,将其指向负载均衡器 URL 并测量该性能,因为这最终会影响您的用户。
希望有帮助:)