jmeter随记2:压测

简述

关于压测,jmeter更直观的作用是用来编写压测脚本【请求和压测策略】,然后在linux服务器上执行,也可以在本地执行,压测执行脚本在启动jmeter服务的时候,会打印出执行压测的命令

一、压测步骤
  • step1: 编写jmeter脚本,以及压测策略

    a、若想压的接口很多 且都是相同域名,可以创建http默认请求:
    在jmeter线程组右键,add -> config Element -> HTTP Request Defaults
    主要用于填写域名和传输协议。
    好处:其他接口请求就不用再写这两项了。
    b、在jmeter线程组创建请求和断言
    创建请求:右击add ->Sampler -> HTTP Request
    添加响应断言:Add ->. Assertions -> Response Assertion
    c、在jmeter线程组添加结果树和聚合报告
    结果树:右击add -> Listener ->View Result Tree
    聚合报告:右击add -> Listener ->Summary Report
    d、保存并保存为 xx.jmx

  • step2: 执行脚本

    a、上传xx.jmx 到服务器【jmeter安装目录的bin目录下】
    b、jmeter保持启动状态
    c、执行脚本
    jmeter -n -t test.jmx -r -l test.jtl -e -o /software/jmeter安装目录/bin/datestr/resultReport
    脚本关键内容的含义:
    test.jmx :jmeter编辑好的脚本,包括请求,压测脚本。
    test.jtl :包含测试运行结果的文本文件
    resultReport:最后输出一个可读性较高的压测报告到这里,存储压测报告的路径可以自行定义
    d、压测过程中,解读linux会打印压测的一些基本情况 :
    在这里插入图片描述
    粗略的解读:summary、11502 :均为请求数
    11502 个请求,消耗 14s,qps:802.3/s ,平均值:334 ,最小值64,最大值:3163 ,错误率0(0%),活跃线程数300个【基本含义就是设置压测300个并发】,结束:0
    需要关注的点:一般你会有一个压测指标,eg:以接口平均响应时间控制在500ms内,进行压测,压测并发数要参照线上qps流量设置,比如线上100,那你可以按正式环境qps 的3倍或者10倍去压。然后观察打印的结果如果平均响应时间为超过500ms太多,不必等着压完,可以停止jmeter压测进程,减少并发数,直到平均响应时间接近500ms

  • step3、压测完成后,会输出压测报告
    压测报告会记录压测中的报错,吞吐率,qps等。主要有这3部分:
    在这里插入图片描述
    主要分3部分,dashboard(粗略看) ,Charts(详细看),Customs Graphs(粗略看)
    抱歉,时间有限 详细怎么看我后面追加整理

二、观察cpu和内存占用情况

压测过程中,需要观察

查看cpu 里应用占用情况:top 
命令来显示所有用户的所有进程。该命令将显示进程ID(PID)、CPU使用率、内存使用率等信息:ps aux
直观易读的格式打印分区类型和分区大小。此命令将显示每个部分的总可用空间、已用空间和可用空间: df -TH
三、查看磁盘占用情况

如果以上参数值都正常,还是运行的很慢,可以看看磁盘的占用情况

查看磁盘占用情况:du -sh /*|grep G 
查到的占用磁盘比较大的路径,可以 将/* 替换指定的路径 eg:/xxfile/*

猜你喜欢

转载自blog.csdn.net/qq_17033579/article/details/131877810