使用 JMeter 测试工具

Posted

技术标签:

【中文标题】使用 JMeter 测试工具【英文标题】:Using JMeter testing tool 【发布时间】:2020-04-19 18:49:31 【问题描述】:

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

如果我在负载测试方面做得对,我想弄清楚。

【问题讨论】:

【参考方案1】:

主要取决于system under test。如果您正在测试的应用程序有来自单个 IP address 的并发连接限制 - 它会有所作为,否则它不应该有任何影响。

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

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

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

【讨论】:

【参考方案2】:

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

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

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

因此,从较低的线程数开始,了解服务器的配置方式,监控服务器和操作系统的运行状况指标并衡量响应。增加线程数并尝试将它们绘制在图表中以查看您需要查看的内容。

【讨论】:

以上是关于使用 JMeter 测试工具的主要内容,如果未能解决你的问题,请参考以下文章

测试工具之Jmeter(使用badboy录制脚本)

Jmeter性能测试 入门

Jmeter性能测试工具的使用(Web性能测试)

压力测试工具-JMeter安装和使用

性能测试工具(jmeter运行优化)

JMETER 测试实例(使用Jmeter录制脚本)