关于jmeter客户端实现中HttpClient4与Java的区别

关于jmeter客户端实现中HttpClient4与Java的区别如上图:jmeter客户端实现方式有三种,一种是java,一种是httpclient4,还有一种默认,我们来看一下java与httpclient4的区别:Java:选择压测时,链接是复用的(代码中的http调用都加了连接池)httpclient4:压测时,每请求一次都创建一个新的链接,(jmeter5.0以前默认关闭了连接复用,5.0上是打开的:即每请求一次都会创建一个新的链接)从JMeter5.0开始,当使用默认的HC4实现时,JMeter将在每个线程组迭代时重置HTTP状态(SS…

大家好,又见面了,我是你们的朋友全栈君。

关于jmeter客户端实现中HttpClient4与Java的区别

 

 如上图:jmeter客户端实现方式有三种,一种是java,一种是httpclient4,还有一种默认,我们来看一下java与httpclient4的区别:

Java:选择压测时,链接是复用的(代码中的http调用都加了连接池)
httpclient4:压测时,每请求一次都创建一个新的链接,(jmeter5.0以前默认关闭了连接复用,5.0上是打开的:即每请求一次都会创建一个新的链接)

从JMeter 5.0开始,当使用默认的HC4实现时,JMeter将在每个线程组迭代时重置HTTP状态(SSL状态+连接)。如果您不想要此行为,请设置httpclient.reset_state_on_thread_group_iteration = false

 所以httpclient4 在连接复用设置打开的情况下,压测结果与java的是不一样的,因为java复用链接,httpclient4每次连接都会重新建立tcp连接,如果httpclient4吞吐量过低,需要考虑网络带宽的限制

java实现适合压榨性测试,httpclient4适合真实场景的模拟,

 连接池的作用于原理:

正常访问数据库的过程中,每次访问都需要创建新的连接,这会消耗大量的资源;连接池的就是为数据库连接建立一个“缓冲区”,预先在缓冲池中放入一定数量的连接对象,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去;且连接池允许多个客户端使用缓存起来的连接对象,这些对象可以连接数据库,它们是共享的、可被重复使用的;使用连接池可以节省大量资源,提高程序运行速度。

连接池的基本原理是:先初始化一定的数据库连接对象,并且把这些连接保存在连接池中。这些数据库连接的数量是由最小数据库连接数来设定的。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。当程序需要访问数据库的时候,如果连接池中有空闲的连接,可直接得到一个连接;如果连接池对象中没有空闲的连接,且连接数没有达到最大,会创建一个新的连接从连接池中取出一个连接,数据库操作结束后,再把这个用完的连接重新放回连接池。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163279.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 工厂方法模式

    php 工厂方法模式

    2022年7月25日
    9
  • [Matlab]绘图颜色[通俗易懂]

    [Matlab]绘图颜色[通俗易懂][Matlab]绘图颜色修改或规定Matlab中几何图形的颜色,对颜色可以有四种描述方法,分别是:颜色名称、短名称、RGB三元组、十六进制颜色代码。Matlab中较美观的颜色(RGB三元组)%%适用于Matlab的RGB颜色[0.00,0.45,0.74]//蓝[0.85,0.33,0.10]//橙红[0.93,0.69,0.13]//橙黄[0.72,0.27,1]//淡紫[0.47,0.67,0.19]//淡绿……待补充Matlab语言%%对点scat

    2022年5月31日
    47
  • asp net mvc 全局捕获异常的方法

    asp net mvc 全局捕获异常的方法在一个网站的开发测试阶段,我们经常需要全局捕获异常。使得网站在异常发生时并不会整个崩掉,从而影响到所有用户的访问,同时记录下异常的详细信息,以便于网站维护人员在异常发生后,可以准确定位异常所在位置和原因。本文使用过滤器的方式来实现全局异常捕获。网上也有很多类似的博文教程,我这里整理了一份日志打印比较完整的。新建过滤器在您的Util项目添加过滤器ExceptionLogAttribute.cs:usingSystem;usingSystem.Web;usingSystem.Web.Mv

    2022年7月22日
    10
  • Nginx + Spring Boot 实现负载均衡

    本文来源:http://8rr.co/LSUH 前言 本篇文章主要介绍的是Nginx如何实现负载均衡。 负载均衡介绍 在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类…

    2021年6月22日
    100
  • traceroute和tracert原理

    traceroute和tracert原理一、Traceroutetraceroute命令用IP生存时间(TTL)字段和ICMP错误消息来确定从一个主机到网络上其他主机的路由。路由器收到TTL为1的包文减1后直接丢弃,然后回复ICMP(type=11,code=0,TTLequals0duringtransit——传输期间生存时间为0)。目标主机收到traceroute的UDP探测包回复ICMP(type=3,code=3,端口不可达)。Linux上称之为traceroute,Windos类似的功能为trace

    2022年9月24日
    6
  • 自动化测试+性能面试题整理–个人最新【持续更新】「建议收藏」

    自动化测试+性能面试题整理–个人最新【持续更新】「建议收藏」写在前面公司要求招一名自动化测试,能力要求不高,1年左右自动化经验+部分性能经验即可,让我出一份题,我就百度+公司项目遇到的问题,出了一份,出题整体思路是:接口自动化问题+性能问题+规划的ui、app自动化+整体质量体系建设等多方面考虑。下面是正题自动化测试面试题1:基础篇目的:验证求职者是否在自动化测试岗位有实际应用于生产的工作经验1、使用什么测试框架做的上一个项目的自动化测试?说下怎么…

    2022年9月29日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号