相同的场景、服务器配置,为何JMeter与LoadRunner测出的TPS相差巨大?

发布于 2021-12-03 12:27:17 字数 620 浏览 978 评论 4

相同的场景、相同服务器配置、相同并发量的情况下,为什么LR测试出来的TPS与JMeter测试出来的TPS相差那么大?


1.LR 50并发(Run Vuser as a thread) TPS 约 40000

2.JMeter 50线程 TPS只能达到 3200左右 (负载生成机器资源消耗很低,排除负载机问题)

3.尝试去掉“图形结果”统计,TPS能提升至15000(提升近5倍)

这样是否可以断定为,jmeter在高负载情况下,自身的性能就存在问题 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

能否归途做我良人 2021-12-05 06:17:10

请问jmeter  15000的tps是单台的jmeter压测的吗?如果是单台,请问服务器配置时多大的呢?我的jemter单台配置64G/16C,测试简单的只有17k的html页面,单台的tps怎么也只能到3500了,不知道问题出在哪里,排除web服务器的问题,下面是针对jmeter做的优化,请多多指教,我们想达到20w的并发

按照网上的优化建议: 
HEAP="-Xms31744m -Xmx31744m"
NEW="-XX:NewSize=10496m -XX:MaxNewSize=10496m"
并且也设置了内核的一些参数:
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024    65000
net.ipv4.tcp_max_syn_backlog = 2048

一笔一画续写前缘 2021-12-05 02:22:46

压测客户端对压测结果有一定影响,一般部署多机发起压测,尽量降低影响。这是常常被很多测试新手忽略的东西。我以前也没有考虑到压测客户端的影响,后来和一个测试专家共事了一段时间后被教育和证明了,印象深刻啊。

绝影如岚 2021-12-04 10:16:51

之前测试过程中,也发现loadrunner与JMeter之间的结果没有可比性:loadrunner测试出来的服务器性能更好。

这可能与LoadRunenr与JMeter之间的加压原理不同有关系。

个人目前的结论是他们之间的结果只能进行纵向对比,横向对比是不现实的。

画骨成沙 2021-12-03 18:48:37

1、LR的场景设置和Jmeter是一样的吗?Jmeter是否1秒钟加到50个线程?LR也是一秒钟加到50个线程吗?

2、添加“图形结果”和“查看结果数”导致TPS下降的问题我没遇到过。不过官方网站最佳实践里说了lordtest的时候不要用这些元件。Don't use "View Results Tree" or "View Results in Table" listeners during the load test, use them only during scripting phase to debug your scripts.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文