zoukankan      html  css  js  c++  java
  • yb课堂之压力测试工具Jmeter5.X 实战《二十二》

    目前常用的测试工具对比

    LoadRunner

    • 性能稳定,压测结果及细粒度大,可以自定义脚本进行压力,但是太过于重大,功能比较繁多

    Apache AB(单接口压测最方便)

    • 模拟多线程并发请求,ab命令对发出负责的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却给目标的服务器造成巨大的负载,简单DDOS攻击等

    Webbench

    • webbench首先fork出多个子进程,每个紫禁城都循环做web访问测试,子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果

    Jmeter

    • 开源免费,功能强大,在还联网公司普遍使用
    • 压测不同的协议和应用
      • Web-》HTTP,HTTPS(java、NodeJS、PHP、ASP.NET,...)
      • SOAP / REST Webservices
      • FTP
      • Database via JDBC
      • LDAP 轻量目录访问协议
      • Message-oriented middleware (MOM) via JMS
      • Mail - SMTP(S),POP3(s) and IMAP(S)
      • TCP等等
    • 使用从场景及优点
      • 功能测试
      • 压力测试
      • 分布式压力测试
      • 纯java开发
      • 上手容易,高性能
      • 提供测试数据分析
      • 各种报表数据图形展示

    Jmeter压测工具本地快速安装

    • 需要安装jdk8 以上
    • 官网地址:https://jmeter.apache.org/
    • 文档地址:

    下载

    我已经上传至百度云

    链接: https://pan.baidu.com/s/1Cjyxo1otjKY97Mplo2m2pw  密码: 75w9

    目录讲解和汉化操作

    bin:核心可执行文件,包含配置
        jmeter.bat:windows启动文件
        jmeter:mac或者linux启动文件
        jmeter-server:mac或者linux分布式压测使用的启动文件
        jmeter-server.bat:windows分布式压测使用的启动文件
        jmeter.properties:核心配置文件
    extras:插件扩展的包
    
    lib:核心的依赖包

    Jmetera语言版本中英文切换

      切换中文显示的时候,有坑,请看我另一篇博客:点我直达

    GUI菜单栏主要组件

    添加->threads->线程组(控制总体并发)

    线程数:虚拟用户数。一个虚拟用户占用一个进程或线程
    
    准备时长(Ramp-Up Period(in seconds)):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程
    
    循环次数:每个线程发送的次数,例如值为5,100个线程,则会发送500次请求,可以勾选永远循环

    线程组->添加Sampler(采样器)->Http(一个线程组下面可以增加几个Sampler)

    名称:采样器名称
    注释:对这个采样器的描述
    wbe服务器:
        默认协议是http
        默认端口是80
        服务器名称或ip:请求的目标服务器名称或ip地址
    路径:服务器URL

    查看测试结果

    新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report)

    lable:sampler的名称
    Samples(样本):一共发出多少请求,例如10个用户,循环10次,则是100
    Average(平均值):平均响应时间
    Median(中位数):中位数,也就是50%用户的响应时间
    
    90% Line:90% 用户的响应不会超过该时间 (90% of the samples took no more than this time.The remaining samples at least as long this)
    95% Line:95%用户的响应不会超过该时间
    99% Line:99%用户的响应不会超过该时间
    min(最小值):最小响应时间
    max(最大值):最大响应时间
    
    Error%(异常):错误的请求的数量/请求的总数
    Throughput(吞吐量):吞吐量--默认情况下表示每秒完成的请求数(Request per Second)可类比为qps、tps KB、Sec:每秒接收数据量

    验证

      可以看出,单机并发差不多在2万5左右,嘻嘻,下面贴出我的电脑配置

    当前测压电脑配置
    CPU:I7 9750
    内存16G

      注:接口的性能影响因素很多,机器的配置如CPU、内存、当前负载情况等,还有网络带宽因素影响,只能尽量减少影响因素

  • 相关阅读:
    好用的 convert freestyle jenkins jobs to pipeline 插件使用
    MkDocs 搭建试用
    当前云安全问题&&一些想法
    asciidoctor 安装试用
    gradle asciidoc 使用
    apache phoenix 安装试用
    parceljs 基本使用———又一个前端构建工具
    tidb 集群扩容
    tidb 安装试用&&以及安装几个问题解决
    caddy quic 协议试用&& 几个问题
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/13332068.html
Copyright © 2011-2022 走看看