使用JMeter测试工具

Using JMeter testing tool

我正在考虑使用 JMeter 进行负载测试。当我添加线程并测试某些服务的负载时,它会测量我本地 IP 的加载时间是吗?我的意思是,当我创建 100 个线程时,这意味着 100 个用户将使用相同的地址访问服务?不同地址的负载测试会有很大区别吗?

如果我做正确的负载测试工作,我想弄清楚。

100 个线程是否意味着 100 个用户将访问具有相同地址的服务?基本上是的。但必须小心完成。否则,很可能会给你错误的结果。例如,您的服务可能会缓存结果。如果所有 100 个线程一遍又一遍地发送相同的请求,服务器可能会以很少的开销开始返回缓存的结果。这可能不是你想要的。

在现实生活中,100 个用户将向服务器发送 100 个不同的负载请求。你需要在你的性能测试中模仿它,看看时间会是什么样子。

接下来,不要从向服务器发出 100 个请求开始。 服务器在处理当前请求时可能有一个队列来保存请求。在那种情况下,您的数字将是错误的,因为结果是(在队列中等待 + 服务器的处理时间)。根据您要查找的内容,这可能也不是您想要的。

因此,从较低的线程数开始,了解服务器的配置方式,监控服务器和 OS 健康指标并测量响应。增加线程数并尝试将它们绘制成图表以查看您需要查看的内容。

主要看system under test. If the application you're testing has limits of concurrent connections from a single IP address——会有所不同,否则应该没什么影响。

事实上,可以为不同的线程(虚拟用户)模拟不同的 IP 地址,相关设置位于 HTTP Request 采样器的 "Advanced" 选项卡下:

请记住,IP 地址或 IP aliases 必须存在于操作系统级别,这样您就可以使用 JMeter 从多个 IP 地址发送请求。

更多信息:Using IP Spoofing to Simulate Requests from Different IP Addresses with JMeter