在jmeter发送http请求时,Implementation下拉框中有几个选项,如下:

那到底有什么区别呢?发送http请求改用哪种方法呢。百度后查之,没答案。我们还是看官方文档吧。官方文档解释如下:

  • HTTP Request - this has an implementation drop-down box, which selects the HTTP protocol implementation to be used:
    • Java - uses the HTTP implementation provided by the JVM. This has some limitations in comparison with the HttpClient implementations - see below.
    • HTTPClient3.1 - uses Apache Commons HttpClient 3.1. This is no longer being developed, and support for this may be dropped in a future JMeter release.
    • HTTPClient4 - uses Apache HttpComponents HttpClient 4.x.
    • Blank Value - does not set implementation on HTTP Samplers, so relies on HTTP Request Defaults if present or on jmeter.httpsampler property defined in jmeter.properties

The Java HTTP implementation has some limitations:

  • There is no control over how connections are re-used. When a connection is released by JMeter, it may or may not be re-used by the same thread.
  • The API is best suited to single-threaded usage - various settings are defined via system properties, and therefore apply to all connections.
  • There is a bug in the handling of HTTPS via a Proxy (the CONNECT is not handled correctly). See Java bugs 6226610 and 6208335.
  • It does not support virtual hosts.
  • It does not support the following methods: COPY, LOCK, MKCOL, MOVE, PATCH, PROPFIND, PROPPATCH, UNLOCK, REPORT, MKCALENDAR.
  • It does not support client based certificate testing with Keystore Config.

来吧。照顾下英文不太好的同学,大致解释下:

有四个选项,不同的区别如下:

Java:使用的http是使用的JAVA JVM提供的方法,有相关的限制,限制见后面解释

HTTPClient3.1:使用Apache HttpClient 3.1部件,已不再开发了,在jmeter以后的版本中可能会不使用

HttpClient4.1:使用Apache HttpClient 4.1部件

空白:使用HTTP默认请求中的配置或jmeter.properties中jmeter.httpsample中的配置

Java请求的限制:

连接如何重用在请求中没有控制;当jmeter释放了一个请求后,在同样的进程中可能不会再使用了

只使用于单进程模式

HTTPS代理请求有两个bug没存在

不支持虚拟主机

不支持相关的方法

不支持存储证书的请求.

参考:http://jmeter.apache.org/usermanual/component_reference.html

jmeter中Implementation中几个选项的区别的更多相关文章

  1. Eclipse建立Java工程中的三个JRE选项的区别(Use an execution environment JRE,Use a project specific JRE,Use default JRE)

    本博客部分转载自: http://blog.csdn.net/wdjhzw/article/details/42086615  这篇博客写的非常好,很用心. 一.首先看新建Java Project时候 ...

  2. 如何使用JMeter从文件中提取数据

    在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是 ...

  3. PHP 错误与异常 笔记与总结(3)PHP 配置文件(php.ini)中与错误相关的选项 与 设置错误级别

    [PHP 配置文件中与错误相关的选项 ] 选项 描述 error_reporting 设置错误报告的级别 display_errors 是否显示错误 log_errors 设置是否将错误信息记录到日志 ...

  4. 数据库开发——参照完整性——在外键中使用Delete on cascade选项

    原文:数据库开发--参照完整性--在外键中使用Delete on cascade选项 原文: http://www.mssqltips.com/sqlservertip/2743/using-dele ...

  5. jmeter从CSV中获取非正常string

    jmeter从CSV中获取非正常string,如CSV中有一列值为{"firstname":"Jade"},那么在beanshell中如何获取并解析? 一般的用 ...

  6. Jmeter运行过程中如何让Fiddler同时可以抓获到服务器的应答报文

    在默认情况下,Jmeter运行过程中,Fiddler是抓不到对应的应答报文的. 但是,在某些时候,我们希望分析Jmeter执行失败的原因,想了解Jmeter获取到的应答报文是否有问题,就需要同服务器返 ...

  7. Excel录入中实现单元格多选项自动下拉

    当我们在Excel表格中需要输入大量的重复数据时,往往利用数据的有效性来制作一个下拉菜单以提高重复数据的输入速度.但在实际的操作过程中,必须选中需要输入重复数据的单元格并单击该单元格右边的下拉箭头,才 ...

  8. 【转】关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  9. 关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

随机推荐

  1. 查看cp进度,使用watch

    watch -n 1 -d du -sh dir 每隔1s查看当前目录所占空间大小

  2. [转]POI实现读写Excel2007完整示例

    http://blog.csdn.net/little_stars/article/details/8210532 流程:(跟jxl相似,只是读取逻辑有点不同) 跟jxl的两处主要区别: 1.读取和写 ...

  3. Lua之转义字符

    print("\a");    --bell 硬件滴一声 print("a"); print("\b");    --back space  ...

  4. mysql中,通过json_insert函数向json字段插入键值?json_insert函数的使用?

    需求描述: 通过json_insert向json字段中插入值,在此进行实验,记录下. 操作过程: 1.查看已经有的包含json数据类型的表 mysql> select * from tab_js ...

  5. java的this static public protected private abstract interface 在python的对应,java python一些区别

    1.因为工作的原因,最近使用了三个多月的java作为主力语言.很早之前在菜鸟教程也看过java文档两遍,但实践少,处于能看懂写出来不流畅的状态(对于java必须要略懂,不能能看到就头疼跳过,因为现在百 ...

  6. SpringBoot------8080端口被占用抛出异常

    异常信息: The Tomcat connector configured to listen on port failed to start. The port may already be in ...

  7. (转)base64编码是怎么工作的?

    按:在PHP中级班的课堂上,有位同学问这样一个问题:“我在用 base64_encode 对用户名进行编码时,会出来等号,是不是可以去掉?”跟我来看完这篇文章,答案即揭晓. 1: 为什么需要base6 ...

  8. PHP代码审计笔记--URL跳转漏洞

    0x01 url任意跳转 未做任何限制,传入任何网址即可进行跳转. 漏洞示例代码: <?php $redirect_url = $_GET['url']; header("Locati ...

  9. linux系统开机自启程序-需要-root用户 -启动 -

    #!/bin/bashsh /home/hwjc/RSA/release2017-02-23/release2017-02-23/install.shsh /etc/init.d/mqtt.shifc ...

  10. 通过java的i/o机制进行图片流的存储以及对网络图片的存储

    存储内地图片思路:首先把原有的图片以流的方式读取出来,再以流的方式存储到目标文件: package imgStream; import java.io.*; public class ImgStrea ...