使用JMeter进行一次简单的带json数据的post请求测试 原文:https://www.cnblogs.com/summer-mm/p/7717812.html 1.启动jmeter:在bin下以管理员身份运行jmeter.bat,启动jmeter 2. 创建测试计划: 默认启动jmeter时会加载一个测试技术模板,保存测试计划:修改名称为UseTestt,点击保存,选择保存路径,后面的步骤,每次添加或修改了了一些选项,软件并不会自动保存到jmx文件中,所以进行测试后,如果需要保存本次测试选项,要手动到“文件”菜单中保存一下。 3. 添加线程组 右键左边树中的测试计划“UseTestt”节点,“添 加”→”Threads”→”线程组” 添加成功后,“UseTest”节点下多了“线程组” 节点,当然这个线程组的名称是可以自己设定的。 4.添加http请求信息头 右键“UseTest”,选择“添加”→ “配置元件”→“HTTP信息头管理器” 然后信息头添加一条名称为 Content-Type,值为 application/json 即可。 6. 添加http请求 右键“UseTest”,选择“添加”→ “Sampler”→“HTTP请求” 添加成功后,出现新的节点“HTTP请求”,就可以填写具体的请求参数了。 填写完成,保存测试计划 7. 添加监听器: 右键线程组,选择“添加”→“监听器”→“XXXXXXXXX” 可以添加的监听器有很多种,可以添加多个监听器,这里我们添加几个常用的“图形结果”、“察看结果树”、“聚合报告” 添加成功后,“线程组”下增加了几个节点 8. 试运行 点击执行 可以查看各个“监听器”的结果 Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值 #Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100 Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间 Median:中位数,也就是 50% 用户的响应时间 90% Line:90% 用户的响应时间 Note:关于 50% 和 90% 并发用户数的含义,请参考下文 http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html Min:最小响应时间 Max:最大响应时间 Error%:本次测试中出现错误的请求的数量/请求的总数 Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数 KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec Average:平均响应时间(毫秒ms) Median:中值时间,N个数据从小到大排列,第N/2个数 9x%Line:N个数据从小到大排列,第9x%N个数。所有数据中9x%的响应时间都小于9x。具体下面详解 Min:最短响应时间 Max:最长响应时间 Error:出错的百分率 Throughput:吞吐率(请求数/秒) KB/sec:接收速率(千字节/秒) 1. 吞吐量=完成的请求数/完成这些请求数所需要的时间; 2. 平均响应时间=所有响应时间的总和/完成的请求数; 3. 失败率=失败的个数/总数数; 4. 时间的计算方法是:通过timeStamp时间戳(发出的起始时间)相减而得 9. 修改线程组的线程数等参数,用于压力测试 点击左侧树形导航中的“线程组” 设置上面几个参数,模拟的总的请求数是:线程数*循环次数。执行一下,用“图形结果”监听器查看一下 样本数目:总共发送到服务器的请求数. 最新样本:代表时间的数字,是服务器响应最后一个请求的时间. 吞吐量:服务器每分钟处理的请求数. 平均值:总运行时间除以发送到服务器的请求数. 中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值. 偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布.