扩展知识:
1、安装 推荐地址文档(https://www.jianshu.com/p/bce9077d883c)
1.1 安装JDK
1.2 安装JMeter
2、开启jmeter
2.1 ls
2.2 cd bin
2.3 sh jmeter
3、QPS Query Per Second 每秒查询率,一台服务器每秒能够响应的查询次数
一、建立第一个简单的JMeter Test Plan
1. 建立空Test Plan
2. 为Test Plan增加Thread Group(鼠标右键选择Add-->Thread Group(Users))
Thread Group主要参数,Number of Threads(线程数量)、Ramp-Up Period(准备时长)和Loop Count(循环次数)。
Thread Group在JMeter中是并行执行的,如果一个Test Plan有多于一个Thread Group,这些Thread Group是同时被初始化并同时执行Thread Group下的Sampler的。
3. 增加HTTP Request Sampler
Sampler是与服务器进行交互的单元。一个Sampler通常进行3部分的工作:向服务器发送请求、记录服务器的响应数据和记录响应时间的信息。
3.1 Name:名称。本属性用于标识一个Sampler.
3.2 Comments:注释。对于测试没有任何作用,仅用于记录用户可读的注释信息。
3.3 Server Name or IP:HTTP请求发送的目标服务器名称或IP地址。本Sampler需要向www.baidu.com发送请求,因此该属性设置为www.baidu.com
3.4 Port Number:目标服务器端口号,默认值为80
3.5 Protocol:向目标服务器发送HTTP请求时的协议,可以是http或者https(大小写不敏感),默认值为http
3.6 Method:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE
3.7 Content encoding:内容的编码方式,默认值为iso8859
3.8 Path:目标URL路径(不包括服务器地址和端口)
3.9 Redirect Automatically:自动重定向,如果选中该项,当发出HTTP请求后得到的响应是302/301时,JMeter自动重定向到新的页面,默认为选中。
3.10 Use Keep Alive:当该选项被选中时,JMeter和目标服务器之间使用Keep-Alive方式进行HTTP通信,默认为选中。
3.11 Use multipart/from-data for HTTP POST:当发送HTTP POST 请求时,使用multipart/form-data方式发送,默认为不选中。
3.12 Send Parameters With the Request:在请求中发送URL参数,对于带参数的URL,JMeter提供了一个简单的对参数进行参数化的方式,用户可以讲URL中所有参数设置在本表中,表中的每一行是一个参数值对。
3.13 Send Files with the Request:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟。
3.14 Retrieve All Embedded Resources from HTML Files:获取HTML文件中包含的所有资源。
3.15 Use as Monitor:当该选项被选中时,此Sampler被当成是Monitor,在Monitor Results Listener中可以直接看到基于该Sampler的图形化统计信息,默认为不选中。
3.16 Save Response as MD5 hash:选中该项,此Sampler执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。
4. 调试 Test Plan
调试是Test Plan实现过程中的一个必要手段,调试的目的是保证Test Plan中的Sampler和相应逻辑都与预期的设计一致。最常用的手段之一是使用JMeter自带的Listener观察请求的发送状态。
(1)View Results in Table:该Listener以表格的形式显示Thread Group中的每一个线程发出的每一次请求,以及响应的HTTP返回码、数据大小等信息
(2)View Result Tree:该Listener以树状图的方式显示Thread Group中的每一个线程发出的请求,显示结果包含该请求本身的详细信息以及对应的详细信息(包括相应返回码、响应尺寸、响应体内容等)