一.操作步骤:

1.在测试计划下新增一个线程组,并在线程组下新增一个http请求:

2.读取配置文件中的参数:在添加的http请求下添加配置元件-CSV DATA SET CONFIG

3.配置待测试的请求参数:需要注意的是如果要输入协议,就不要在服务器名称或IP前加http或https了,否则会直接访问到http://http://上去;如果访问http接口的时候还需要Header或Cookie,就直接在对应的http请求后添加即可;发送参数的参数值直接通过${参数名}的方式即可调用

4.添加监听器则是用各种方式记录测试结果,目前添加表格、聚合报告和查看结果树即可:

5.在线程组中设置同时访问接口的用户数量:线程数即为模拟的用户数量,Ramp-Up Period(in seconds),设置准备时长,每秒钟启动的线程数=线程总数/启动时长,若Ramp-Up Period=0即为并发请求;循环次数为每个线程发送请求的次数

点击启动,即可开始测试

二.结果分析:

1.聚合报告各个字段的含义:

Label :各个模拟测试的名称

#Samples :各个测试的样本总数,样本总数=用户数×迭代次数

Average :每个请求的平均响应时间

Median :中值,即50%请求的平均响应时间

90%Line :90%请求的响应时间,指90%的请求小于某个时间点

Min :最小响应时间 ,Max :最大的响应时间

Error% :错误响应的概率。即无法响应的概率。

ThroughPut :吞吐量 -- 默认情况下表示每秒完成的请求数(Request per Second)。

KB/Sec :每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

2.结果树种记录的有各次发送请求的请求入参与请求,可以根据在断言监听器中加入断言字段验证接口返回结果;不过需要注意的是结果树中的请求参数是通过URL编码的

使用结果树可以看到接口返回的值,也可以用来做接口测试。

3.图形结果分析:

样本数目是总共发送到服务器的请求数。

最新样本是代表时间的数字,是服务器响应最后一个请求的时间。

吞吐量是服务器每分钟处理的请求数。

平均值是总运行时间除以发送到服务器的请求数。

中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

左上角的时间:可以理解为在所有的运行次数中,90%的运行结果都在0~左上角数字的区间里

The value displayed on the top left of
graph is the max of 90th percentile of response time(Jmeter文档)

LoadRunner文档的描述:

Solution: The 90th percentile is the value for which 90% of the data points are smaller

The 90th percentile is a measure of stastical distribution, not unlike the median. The median is the middle value. The median is the value for which 50% of the values were bigger, and 50% smaller. The 90th percentile tells you the value for which 90% of the data points are smaller and 10% are bigger.

Statistically, to calculate the 90th percentile value:

1. Sort the transaction instances by their value.

2. Remove the top 10% instances.

3. The highest value left is the 90th percentile.

三.使用Jmeter监测服务器性能指标:

下载 PerfMon插件,该插件包括两个部分:

1.ServerAgent:

ServerAgent放在被压测的服务器上,是用来收集服务器相关性能指标(cpu、memory、tcp等)、以及jmx等metrics信息,然后通过 TCP or UD协议来发送给jmeter。启动后,默认监听4444端口,ServerAgent是一个文本协议,可以使用任何客户端发送/接收metrics数据信息。

只需要将SeverAgent添加到服务器上然后再启动即可。

2.The Metrics Collector Listener

The Metrics Collector Listener是在jmeter上运行的插件,用来收集agent发送的metrics信息,展示图表的。

下载地址:(https://jmeter-plugins.org/?search=jpgc-perfmon),加压后,把lib里的两个jar拷贝到jmeter的lib目录,吧lib/ext里面的两个jar拷贝到jmeter的lib/ext目录。重启jmeter即可。

在jmeter的添加>监听器中,可以选在perfMon选项:

添加jp@gc - PerfMon Metrics Collector可用来监控服务器性能数据,可监控的指标有CPU/内存/磁盘IO/网络IO/TCP/SWAP分区等性能指标

其中,HostIP为被监控服务器的IP,Port为端口号,默认为4444(我喜欢这个数字),Metric parameter则是具体的监控设置

3.性能指标结果分析:纵轴为性能结果指标,单位为百分比,横轴为运行时间,单位为秒

内存:我的内心毫无波动甚至还想笑

基于Jmeter的轻量级接口压力测试(一)的更多相关文章

  1. 学习总结——JMeter做http接口压力测试

    JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...

  2. JMeter做http接口压力测试

    测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个 ...

  3. 使用Loadrunner进行http接口压力测试

    业务描述: 在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回. 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: ...

  4. Windows和Linux的Jmeter分布式集群压力测试

    Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...

  5. 工具使用-----Jmeter教程 简单的压力测试

    摘抄于http://www.cnblogs.com/TankXiao/p/4059378.html 以下是英文版的,中文版的也差不多的 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做 ...

  6. Jmeter教程 简单的压力测试【转】

    Jmeter教程 简单的压力测试[转] Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力 ...

  7. Jmeter教程 简单的压力测试

    Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html

  8. 转:使用 JMeter 完成常用的压力测试

    使用 JMeter 完成常用的压力测试 就目前 Java EE 的平台下开发的软件来说,这种节点通常可能是:Web 服务器.数据库服务器和 JMS 服务器.它们都是请求主要发生的地点,请求频率较其它的 ...

  9. Python开发【笔记】:接口压力测试

    接口压力测试脚本 1.单进程多线程模式 # #!/usr/bin/env python # # -*- coding:utf-8 -*- import time import logging impo ...

随机推荐

  1. 2017/4/27-Gradle的配置与Spring的下载

    Gradle的配置与Spring的下载 1.Gradle 1) 介绍 Gradle是一个基于Groovy的构建工具,类似Maven,但是比其更加简单轻便.它可以自动化地进行软件构建.测试.发布.部署. ...

  2. lxml简明教程

    最近要做下微信爬虫,之前写个小东西都是直接用正则提取数据就算了,如果需要更稳定的提取数据,还是使用 xpath 定位元素比较可靠.周末没事,从爬虫的角度研究了一下 python xml 相关的库. P ...

  3. TOMCAT的框架结构

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样 ...

  4. JS面向对象,创建,继承

    很开心,最近收获了很多知识,而且发现很多东西,以前理解的都是错的,或者是肤浅的,还以为自己真的就get到了精髓,也很抱歉会影响一些人往错误的道路上走,不过这也告诉了我们,看任何一篇文章都不能盲目的去相 ...

  5. R语言面向对象编程:S3和R6

    一.基于S3的面向对象编程 基于S3的面向对象编程是一种基于泛型函数(generic function)的实现方式. 1.S3函数的创建 S3对象组成:generic(generic FUN)+met ...

  6. js函数的使用

                           js函数应用   [函数的声明及调用]: 1.函数声明:    function 函数名(参数1,参数2,·····){    //函数体    retu ...

  7. MyBatis和Hibernate相比,优势在哪里?

    1.开发对比开发速度 hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. ...

  8. freemarker---详细使用教程

    FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分2,注释:<#-- ... -->格式部分,不会输出 ...

  9. 关于ie的h5 刷新和ctrl+5刷新 以及图标刷新的问题

    最近在做一个表单验证,当表单失去焦点的时候触发错误提示. 可是..... 火狐 欧朋 刷新都没有问题,而在ie edge 用f5刷新的时候 都能记住之前的焦点 造成提示混乱. 问题算是解决: < ...

  10. MyBatis3入门

    这里对mybatis的入门介绍以官方最新MyBatis3.4.1为准,具体文档及jar包请访问:https://github.com/mybatis/mybatis-3/releases. 以前经常都 ...