如上图: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适合真实场景的模拟,

连接池的作用于原理:

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

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

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

  1. 网页设计中JS与Java的区别

    在各种网页制作技术论坛中,常常有人询问javascript与Java有什么区别,甚至有人误认为javascript就是Java.javascript与Java确实有一定的联系,但它们并不像我们想象的那 ...

  2. JMeter压力测试,五年Java开发者小米、阿里面经

    下载地址:jmeter-plugins.org 安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可. 启动je ...

  3. 【Jmeter技巧】 jmeter客户端不自动释放会话

    项目场景: 在使用jmeter进行100线程压测,结束时,jmeter客户端会话数从100降到90后就不再下降了 问题描述: 压测时客户端的会话不会自动结束 原因分析: HTTP采样器高级配置中lmp ...

  4. Jmeter分布式测试过程中遇到的问题及摘抄前辈问题汇总

    遇到的常见问题: 1.在Controller端上控制某台机器Run,提示"Bad call to remote host". 解决方法:检查被控制机器上的jmeter-server ...

  5. JAVA面试要点006---.net中的委托与java中的代理模式和委托

    1.1.1 定义 委托是一种引用方法的类型.一旦为委托分配了方法,委托将与该方法具有完全相同的行为.委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示: //Code in C# ...

  6. 设计模式-工厂模式的3中不同实现[JAVA]

    设计模式-工厂模式的3中不同实现[JAVA] 工厂模式简介 In Factory pattern, we create object without exposing the creation log ...

  7. 中软国际java面试题及参考答案

    面试题是中软国际java个人求职者在面试过程中的敲门砖,以下是小编为大家收集到的,希望对大家有帮助! :填空题 1Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点 B ...

  8. jmeter使用beanshell中字符串转换为long的实际操作

    今天使用beanshell做断言时,想要把返回体中的时间戳字符串转换为long类型,然后和当前时间做比较,刚开始看网上写的使用常规的Long.parseLong()进行转换 parseLong(Str ...

  9. Java中apple导入那个包_在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是()。A.java.appletB.java.awtC.j...

    在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是().A.java.appletB.java.awtC.j 更多相关问题 问卷星是一个专业.无限制的免费在线问卷调查.测评. ...

  10. 中软国际java开发面试题_中软国际java面试题及参考答案

    面试题是中软国际java个人求职者在面试过程中的敲门砖,以下是小编为大家收集到的,希望对大家有帮助! :填空题 1Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点? B ...

最新文章

  1. 1008: [HNOI2008]越狱(计数问题)
  2. 【Java】面试高频考题---topK问题详解(堆heap求解)
  3. python to_excel保存成xls_pd.ExcelWriter(to_excel)保存结果到已存在的excel文件中
  4. [luogu3676]小清新数据结构题
  5. linux 显示器分辨率设置太小了,显示器不显示 如何在设置回来,当“显示设置”中的分辨率不可用时,如何使用xrandr设置自定义分辨率...
  6. go发布一个公开的自定义仓库包
  7. Arts 第十九周(7/22 ~ 7/28)
  8. 博文视点大讲堂28期 “助你赢在软件外包行业”成功举办
  9. PostgreSQL数据保留窗口功能的使用
  10. DOS窗口命令大全用法及其详解
  11. 【Android测试】在AndroidStudio中进行单元测试
  12. 界面开发控件DotNetBar for WPF教程:MobileRibbon快速入门指南
  13. 什么是可加,半可加,不可加事实?
  14. chrome遭劫持7654网站,怎么办?
  15. 【R语言】GARCH模型的应用
  16. PHP自动识别电话名字地址,你用PHP,如何实现地址自动识别的功能
  17. Need assistance with accessing your developer account
  18. 人月神话(各章精选)
  19. Linux终端和Line discipline图解
  20. 面试测试岗想拿13K,HR说最多能给你10K,一招教你怼死HR?

热门文章

  1. 计算机网络分开哪些阶段,物联网的发展可以分为哪四个阶段?
  2. 卡巴斯基2009注册机[纯绿色版本]
  3. Android关于对话框,Android对话框(Dialog)完全使用手册
  4. Scintilla Markers Margins
  5. android平板改成电视盒子,安卓平板改裝成電視盒子
  6. html密码查看器,浏览器密码查看工具(WebBrowserPassView)
  7. acrobat PDF删除部分_【低碳环保打印四大金刚】四款优秀的专业PDF虚拟打印机分享...
  8. python循环结构高一信息技术_2019-2020学年度高一信息技术期末考试明白纸
  9. 指针操作数组c语言,C语言入门教程-用指针操作数组
  10. 看透网络执法官的本质