zoukankan      html  css  js  c++  java
  • 基于Jmeter的轻量级接口压力测试(一)

    一.操作步骤:

    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.性能指标结果分析:纵轴为性能结果指标,单位为百分比,横轴为运行时间,单位为秒

     

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

  • 相关阅读:
    后台管理、编辑器上传图片、修改用户头像、bbs小总结
    侧边栏制作成inclusion_tag、文章的点赞点踩、文章的评论
    登陆功能、bbs首页搭建、admin后台管理、首页文章展示、用户头像展示、图片防盗链、个人站点页面搭建、侧边栏展示功能、侧边栏筛选功能、将侧边栏制作成inclusion_tag
    表创建及同步、注册功能、登陆功能、搭建bbs首页
    毕设进度7
    毕设进度6
    毕设进度5
    毕设进度4
    毕设进度3
    学习进度2
  • 原文地址:https://www.cnblogs.com/rd-ddddd/p/6492206.html
Copyright © 2011-2022 走看看