我们正在通过jmeter对我们的应用程序进行负载测试。
架构是:Web服务器(Apache),app服务器(jboss),数据库(MySQL)。
在app server中配置了Dynatrace代理。
对于任何特定请求,应用服务器中显示的响应时间小于1秒,但在jmeter报告中显示的响应时间超过5秒。
可能导致上述行为的原因。
我应该采取哪些后续措施来找到瓶颈。
答案 0 :(得分:0)
当然它是不同的,这是正常的!
JBoss和数据库之间的(请求+响应)处理时间为1秒。
JMeter和数据库之间的(请求+响应)处理时间为5秒。
Dynatrace显示的响应时间是Jboss数据库之间计算的时间(第一个请求和最后一个响应之间花费的时间)。
JMeter显示的响应时间是JMeter和数据库之间计算的时间:时间整合了JMeter和Jboss +数据库之间的Jboss + RT之间的响应时间。它必须大于Dynatrace的响应时间,就像你的情况一样(5秒对1秒)。
这是什么意思?
这意味着您在JMeter和Jboss之间浪费时间(5-1 = 4秒),比WAS和数据库之间的处理时间多4倍=>调整Web服务器和WAS可以减少第一次花费的时间......
答案 1 :(得分:0)
检查此glossary,描述前三个参数(经过时间,延迟,连接时间)。
这就是JMeter正在测量的东西 - 显然是客户端。 虽然Dynatrace仅测量服务器端处理 。
所以这两个数字都是合法的并且给你一个重要的线索 - 你只需要正确阅读它。
有了这些数字,你可能想深入研究两者之间发生的事情,这种差异来自于此。
简而言之,介于两者之间:网络;服务器的标准组件(OS& JBoss),包括服务于网络的东西;客户也一样;和JMeter本身。
为了获得该路径的第一条线索,我建议您在JMeter主机上设置嗅探代理(例如Fiddler),管理通过它的所有流量,并查看它在其详细时间统计中显示的内容。网络运营。
这样,你就可以将你的JMeter 排除作为一个因素,所以你可以看到它带来了多少。