通过httpclient4实现配置Jmeter采样器时,CPU利用率比通过Java实现少得多

通过httpclient4实现配置Jmeter采样器时,CPU利用率比通过Java实现少得多,jmeter,implementation,Jmeter,Implementation,在运行JMeter执行时,使用带有实现httpclient4的采样器比使用Java实现执行的采样器导致更少的CPU利用率。有人能提出原因吗?推荐哪一个用于更好的性能测试?HTTP客户端实现使用因此,当不再使用连接时,它将返回到池中,当下一个线程需要连接时,它只从池中获取一个连接 对于Java实现,无法控制如何重用连接,由JVM决定是保留连接还是关闭连接。建立一个连接是一个相当“昂贵”的操作,因此我的期望是,你会看到由于这个差异 这只是一个“盲目射击”,有太多的未知因素,你可以使用一个比较两者,看

在运行JMeter执行时,使用带有实现httpclient4的采样器比使用Java实现执行的采样器导致更少的CPU利用率。有人能提出原因吗?推荐哪一个用于更好的性能测试?

HTTP客户端实现使用因此,当不再使用连接时,它将返回到池中,当下一个线程需要连接时,它只从池中获取一个连接

对于Java实现,无法控制如何重用连接,由JVM决定是保留连接还是关闭连接。建立一个连接是一个相当“昂贵”的操作,因此我的期望是,你会看到由于这个差异

这只是一个“盲目射击”,有太多的未知因素,你可以使用一个比较两者,看看到底是什么导致CPU负载

Java实现还有一些限制,例如:

  • 不支持(别名)
  • 不支持虚拟主机
  • 仅支持以下操作:获取、发布、头、选项、放置、删除和跟踪

  • 因此,我建议尽可能使用HTTPClient(事实上这是JMeter的默认设置)

    请提供更多信息,包括实际结果和预期结果,如果适用,代码示例也将非常有用。这个问题非常开放,没有额外的信息。虽然我的JMeter套装中的sampler具有JAVA实现选项,但在执行时,平均CPU利用率为30-40%。将采样器的实现更改为HttpClient4后,CPU利用率降低到20-30%,现在在同一应用程序上平均不超过10%。虽然我知道建议使用httpclient4,但我怀疑它是否会同时触发更多请求。思考时间和其他参数的设置与以前一样。