🌍
JMeter性能测试

主要框架:Jmeter + badboy + nmon
特点:轻量级、监控简单、开源、灰盒、快速录制脚本、不依赖编程

性能插件

插件存放URL/lib/ext/
tip:最好一个一个安装
  • jmeter-plugins-manager(插件包管理器)
  • 3 Basic Graphs(图形)
  • 5 Additional Graphs(图形)
  • PerfMon(资源监听器)
    • 填写被测IP
    • 打开代理ServerAgent
      • linux -> .sh
      • window -> .bat
  • Auto-Stop Listener
  • Azure backend listener(可无)
  • Custom JMeter Funtion
  • Custom Thread Group

开始

  • 添加模拟线程组 Stepping Thread Group 并设置
  • 添加需要的监听器
  • badboy录制脚本并 -> expot to jmeter(或打开业务脚本jmx文件)
  • 调试脚本的正确性

压力性能测试指标和分析

  • 四大性能指标类型:响应、处理、资源消耗、网络
  • 常见压力性能指标
    • 最小、平均、最大响应时间
    • 吞吐量
    • 系统错误率(系统异常率/事务成功率)
      • 行业标准<=0.6%
      • 企业<=1%
    • TPS
    • HPS
    • CPU、MAMERY使用率
      • 标准<=80%
      • CPU过高时最佳处理方式为升级硬件、提高主频(超频)
    • 网络、磁盘I/O占用率(单位b/秒,字节/秒)
    • 最大并发用户数、最大负载量

负载测试和压力测试的区别(Jmeter)

  • 用户量一样,增加同一时间的操作为压力测试(加压)
  • 操作一样,增加用户数为负载测试

性能测试的常见类型

  • 基准测试:固定场景的指标测试
  • 配置测试:专门检测和优化硬件性能
  • 压力测试:专门检测多线程、多业务的压力场景
  • 并发测试:专门检测同一段时间内相同的动作场景
  • 稳定性压力测试:专门检测长时间多用户的场景

如何快速判断性能测试的瓶颈

  • 开始首先关注总体的异常率
    • 出现异常时,查看“用表格查看结果”(6/100)
    • 偏离值越小,系统越稳定(一般为300以内)
  • 资源消耗指标(先硬件指标后软件指标)
  • 各个具体的指标数据

通过命令行监听资源消耗

    window:任务管理器
                   性能监视器Perfmon
                   资源监视器resmon
    linux:top查看CPU和内存
                 free查看内存
                 vmstat VM
                 iostat IO
                 sar CPU
linux:[[Nmon性能监控]]

术语

  • 稳定性测试(性能烤机测试)Endurance Testing:一定软硬件环境下,长时间运行一定的负载,确定系统在满足性能指标下是否运行稳定,一般加大1.5-2倍
  • 配置测试:为了合理地调配资源
  • 标准差(偏离值)
  • PV(page view):每秒用户访问页面的次数
  • QPS(Query Per Second):每秒查询率
  • I/O:吞吐量
  • TSP:每秒(成功)事务数
  • C平均并发 = n用户数 * l平均使用时间(h) / t可能使用的时间段长(h)
  • 并发峰值:n + 开根号3的n

并发测试

  • 流程
    • 对应具体业务录制业务脚本
    • jmeter调试业务脚本
    • 添加同步定时器:设置并发数和触发时间
    • 添加用表格查看结果
    • 插件添加
    • Running
–> [[性能测试综述]] –> [[性能监控]]