zoukankan      html  css  js  c++  java
  • jmeter之一次添加接口单场景压测记录

    以jpress新增文章接口为例

    目录

    1、需求分析

    2、场景设计

    3、分析结果生成报告

    1、需求分析

    需求人员一般对系统提出性能要求:某接口10秒达到100并发,响应时间不能超过3秒,10分钟稳定运行100用户,error%不超过0.01%,cpu占用率不能超过80%

    分析:

    第一点:启动时间要求10s启动100个

    第二点:响应时间低于3秒,报错率低于0.01%

    第三点:10分钟稳定运行100用户

    2、场景设计

    第一步:调通单接口

    仅一次登录控制器:一次线程活动中只会运行一次,这样可以设置多次循环次数实现并发数(线程数*循环次数)的添加

     

    第二步:设置第一点的需求场景,10秒内启动总并发数的通过20%、50%、80%、100%,分别得到当时的响应时间、报错率、tps、cpu占用率指标

    如:20%

    配置csv中20条条可添加信息

    禁掉除了断言以外的所有非必须配置元件, 使用无图形界面运行方式 执行脚本,由于我这里脚本和参数化文件在我当前执行脚本的路径,所以我没有带路径,如果执行路径和脚本不在一个路径,则需要填写脚本位置,csv则在脚本中的函数助手中进行修改,确保是一个可读取的路径

    E:j>jmeter -n -t login.jmx -l m.jtl

    执行完,会在指定的路径生成报告,此报告可用聚合报告打开

     

     

    3、分析结果生成报告

    1、本图需要关注的点:系统在空闲状态下执行20并发,处理添加请求响应平均时间为79ms,存在5%的报错率,tps为12.4/s

    2、通常我们是需要拿几次的执行结果对比tps,查看报错率情况,分析性能瓶颈等

    3、比如说报错率在某一次中超过了预期,则该值时已经存在性能瓶颈;tps达到某一值时,不升反降,则该值存在性能瓶颈;响应时间的值开始缓慢增加后来剧增,则达到性能瓶颈

    4、可以通过nmon或者serveragent等插件观察服务器的动态cpu、内存、io、磁盘利用率等辅助分析

    5、可以通过top命令实时查看服务器性能表现情况

    优化版:

    第一步:jmeter有一个Stepping Thread Group,可以实现阶梯式启动加压

    入口:添加线程组——jp@gc - Stepping Thread Group

     设计脚本:

     参数介绍:

    This group will start 100 threads:设置线程组启动的线程总数为100个;
    First,wait for N seconds:启动第一个线程之前,需要等待N秒;
    Then start N threads:设置最开始时启动N个线程;
    Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,在5秒内启动10个线程;
    Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒;
    Finally,stop 5 threads every 1 seconds:每秒停止5个线程;

    第二步:

    装好nmon(可参考https://www.cnblogs.com/weizhideweilai/p/11368192.html),最后设置参数进行监控服务器性能指标

    链接:https://pan.baidu.com/s/1j6_H9W5SdnoFrsN2nuRmUQ
    提取码:njku

  • 相关阅读:
    有关类成员变量和局部成员变量初始值设置问题
    Redis在windows下安装与配置
    java内存区域-方法区
    Java中的反射机制(一)
    (转)Spring实现IoC的多种方式
    UUID
    Python os.path
    Leetcode 215、数组中第k个最大的元素
    树的非递归遍历
    About MySQL
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/13511711.html
Copyright © 2011-2022 走看看