通过案例带你轻松玩转JMeter连载(9)

简介: 通过案例带你轻松玩转JMeter连载(9)

4 HTTP信息头管理器


HTTP信息头管理器,用于设置HTTP请求包的报文头。通过右键点击菜单,选择“添加->配置元件->HTTP 信息头管理器”而获得。其界面如图55所示。

image.png

图55 HTTP信息头管理器


HTTP信息头管理器的操作按键同用户定义的变量的操作按键。


image.png

点击查看原视频链接


5 HTTP请求默认值



HTTP请求默认值,设置HTTP请求的默认值。在这里设置好的信息在下面所有的HTTP请求元件中都可以不设置。HTTP请求默认值通过右键点击菜单,选择“添加->配置元件->HTTP请求默认值”而获得。其界面如图56所示。

image.png

图56 HTTP请求默认值“基本”标签


(一)基本标签
HTTP请求默认值组件可以为我们的http请求设置默认的值。假如,我们创建一个测试计划有很多个请求且都是发送到相同的Server,这时我们只需添加一个HTTP请求默认值组件并设置“服务器或IP”,然后添加多个HTTP请求且不设置“服务器或IP”,这些HTTP请求会默认使用HTTP请求默认值组件设置的值。


  • 协议:http或https
  • 服务器或IP:待测软件所在服务器的名称或者IP地址
  • 端口号:待测服务软件HTTP所在的端口号。比如Tomcat的默认端口号为8080,Django端口号为8000等,默认为80
  • 路径:请求的路径。
  • 内容编码:默认为ISO8859,中文格式的网页,建议改为utf-8。


(二)高级标签,如图57所示。

image.png

图57 HTTP请求默认值“高级”标签


  • 客户端实现:实现中可以选择默认、HttpClient4和Java。

使用Java进行压测,Java表示使用JVM的HTTP实现。链接是复用的。代码中的HTTP调用都加了连接池。


使用HttpClient4进行压测,表示使用 Apache HttpComponents HttpClient 4.x.作为请求的实现方法。每请求一次都创建一个新的链接(JMeter5.0以前默认关闭了连接复用,5.0上是打开的:即每请求一次都会创建一个新的链接)。


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


httpclient.reset_state_on_thread_group_iteration = false



所以HttpClient4在连接复用设置打开的情况下,压测结果与java的是不一样的,因为java复用链接,HttpClient4每次连接都会重新建立TCP连接,如果HttpClient4吞吐量过低,需要考虑网络带宽的限制。Java实现适合强度测试,HttpClient4适合真实场景的模拟。


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


  • 超时。
    Ø 连接:连接超时时间设置,就是超过多长时间没有连接就认为是超时。
    Ø 响应:回复超时时间设置,就是多长时间没有收到回复就认为是超时。
    某一公司,要求产品的所有界面在多少压力下不得低于3秒响应,在这种情况下,设置超时响应为:3000秒。

  • 从HTML文件嵌入资源。如果HTML含有CSS、JS、图片等文件是否下载。
    Ø 从HTML中获取所有资源并下载。如果HTML含有CSS、JS、图片等文件,均下载。
    Ø 并行下载,数量为后面的设置。
    Ø 网址必须匹配。网址必须与输入匹配。
    Ø  URLs must not match。URL不应该与输入匹配。
    我们在第1节中建立的电子商务登录脚本中的HTTP请求默认值的高级标签中选择从HTML文件嵌入资源。运行结果如图58所示。


image.png

图58 选择从HTML文件嵌入资源后的运行结果


在这种情形下,所有对CSS、JS、PNGhellip;文件的请求都被记录来了。

  • 源地址:该部分主要用于地址欺骗,以避免服务器对同一IP地址过滤。需要选择地址类型,并设置值。类型只有http请求的实现方式为 HTTPClient 才能使用该选项。可选类型有IP/主机名、设备、设备IPV4和设备IPV6。
    Ø IP主机名: 指定IP地址或者主机名
    Ø 设备:选择设备以选择该接口的第一个可用地址,该接口可以是IPv4或IPv6。
    Ø 设备IPV4:选择设备名称(如“eth0”、“1o”、“wlan0”)的IPv4地址。
    Ø 设备IPV6.:选择设备名称(如“eth0”、“1o”、“wlan0”)的IPv6地址。
    此属性用于启用IP欺骗。它重写了这个示例的默认本地IP地址。JMeter主机必须具有多个IP地址(即IP别名、网络接口、设备)。该值可以是主机名、IP地址或网络接口设备,如如“eth0”、“1o”或“wlan0”。

  • 代理服务器。设置代理服务器的名称或IP、端口号、用户名和密码。
  • 其他任务,保存响应为MD5的哈希值:选中这个选项,在执行时只记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。


设置了HTTP请求默认值,在设置HTTP请求时,公用的部分就不用设置了,你可以回过头来参看第1.3节中的5)-8)步。

image.png

                                                           点击查看原视频链接



目录
相关文章
|
Java 测试技术 API
通过案例带你轻松玩转JMeter连载(49)
通过案例带你轻松玩转JMeter连载(49)
251 1
通过案例带你轻松玩转JMeter连载(49)
|
存储 Linux
通过案例带你轻松玩转JMeter连载(60)
通过案例带你轻松玩转JMeter连载(60)
179 0
通过案例带你轻松玩转JMeter连载(60)
|
算法
通过案例带你轻松玩转JMeter连载(59)
通过案例带你轻松玩转JMeter连载(59)
232 0
通过案例带你轻松玩转JMeter连载(59)
|
XML JavaScript Java
通过案例带你轻松玩转JMeter连载(58)
通过案例带你轻松玩转JMeter连载(58)
130 0
通过案例带你轻松玩转JMeter连载(58)
通过案例带你轻松玩转JMeter连载(57)
通过案例带你轻松玩转JMeter连载(57)
128 0
通过案例带你轻松玩转JMeter连载(57)
|
存储 索引
通过案例带你轻松玩转JMeter连载(56)
通过案例带你轻松玩转JMeter连载(56)
117 0
通过案例带你轻松玩转JMeter连载(56)
|
存储 Prometheus 监控
通过案例带你轻松玩转JMeter连载(55)
通过案例带你轻松玩转JMeter连载(55)
165 0
通过案例带你轻松玩转JMeter连载(55)
|
存储 监控 数据可视化
通过案例带你轻松玩转JMeter连载(54)
通过案例带你轻松玩转JMeter连载(54)
157 0
通过案例带你轻松玩转JMeter连载(54)
|
存储 Prometheus 监控
通过案例带你轻松玩转JMeter连载(53)
通过案例带你轻松玩转JMeter连载(53)
138 0
通过案例带你轻松玩转JMeter连载(53)
|
JSON 监控 数据可视化
通过案例带你轻松玩转JMeter连载(52)
通过案例带你轻松玩转JMeter连载(52)
200 0
通过案例带你轻松玩转JMeter连载(52)