学习笔记——压力测试案例,监控平台

测试案例

# 最简单的部署方式直接单机启动
nohup java -jar lesson-one-0.0.1-SNAPSHOT.jar > ./server.log 2>&1 &

然后配置执行计划:

  • 新建一个执行计划
    学习笔记——压力测试案例,监控平台_第1张图片
  • 配置请求路径
    学习笔记——压力测试案例,监控平台_第2张图片
  • 配置断言
  • 学习笔记——压力测试案例,监控平台_第3张图片
  • 配置响应持续时间断言
    学习笔记——压力测试案例,监控平台_第4张图片
  • 然后配置一些查看结果的统计报表或者图形
    学习笔记——压力测试案例,监控平台_第5张图片
    然后我们可以安装一个插件来可视化更多的指标:
    jmeter官网
    jmeter插件官网
    安装插件:
    将下载的插件jar 放到目录
    学习笔记——压力测试案例,监控平台_第6张图片
    看到插件中心表示安装插件完成:
    学习笔记——压力测试案例,监控平台_第7张图片
    然后安装下图两个插件:
    学习笔记——压力测试案例,监控平台_第8张图片
    安装完成以后就可以选择:
    学习笔记——压力测试案例,监控平台_第9张图片
    然后比较重要的三个指标是:
    响应时间:jp@gc - Response Times Over Time
    活动线程数:jp@gc - Active Threads Over Time
    每秒事务数:jp@gc - Transactions per Second

梯度压测

配置如下,只是多配置一些线程组:
学习笔记——压力测试案例,监控平台_第10张图片
然后为了后面使用方便可以定义一些环境变量:
学习笔记——压力测试案例,监控平台_第11张图片
使用环境变量:
学习笔记——压力测试案例,监控平台_第12张图片

InfluxDB监控平台的搭建

1 安装InfluxDB

docker pull influxdb:1.8
docker run -d --name influxdb -p 8086:8086 -p 8083:8083 influxdb:1.8
docker exec -it influxdb /bin/bash
#创建数据库
create database jmeter 
show databases

然后配置后端监听
学习笔记——压力测试案例,监控平台_第13张图片

2)主要配置说明
influxdbUrl:需要改为自己influxdb的部署ip和映射端口,我这里是部署在阿里云服务器,所以就是47.93.59.248,口是容器启动时映射的8086端口,db后面跟的是刚才创建的数据库名称
application:可根据需要自由定义,只是注意后面在 grafana 中选对即可
measurement:表名,默认是 jmeter ,也可以自定义
summaryOnly:选择true的话就只有总体的数据。false会记录总体数据,然后再将每个transaction都分别记录
samplersRegex:样本正则表达式,将匹配的样本发送到数据库
percentiles:响应时间的百分位P90、P95、P99
testTitle:events表中的text字段的内容
eventTags:任务标签,配合Grafana一起使用
学习笔记——压力测试案例,监控平台_第14张图片
进入容器内部,输入命令查看测试的数据:
学习笔记——压力测试案例,监控平台_第15张图片
2 安装 图形话界面 Grafana

docker pull grafana/grafana
docker run -d --name grafana -p 3000:3000 grafana/grafana

访问http://ip:3000/
然后增加一个数据源:
学习笔记——压力测试案例,监控平台_第16张图片
下面我们导入一些模板(官方提供)用于快速的可视化监控数据
学习笔记——压力测试案例,监控平台_第17张图片
这里直接参考两个非常常用的模板ID
Apache JMeter Dashboard dashboad
-ID:5496
JMeter Dashboard(3.2 and up)
dashboad-ID:3351
最终效果:
学习笔记——压力测试案例,监控平台_第18张图片
学习笔记——压力测试案例,监控平台_第19张图片

Prometheus 监控平台搭建

1 安装node_exporter

wget -c https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-arm64.tar.gz
tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /liyong/  
nohup ./node_exporter > node.log 2>&1 &

访问:
http://ip:9100/metrics 验证是否安装成功
学习笔记——压力测试案例,监控平台_第20张图片
2 安装Prometheus

# 下载
wget -c https://github.com/prometheus/prometheus/releases/download/v2.15.1/prometheus-2.15.1.linux-amd64.tar.gz 
# 解压
tar zxvf prometheus-2.15.1.linux-amd64.tar.gz -C /liyong/
# 运行
nohup ./prometheus > prometheus.log 2>&1 &

如果是监控多台服务器需要修改配置在prometheus.yml

scrape_configs:
  # The job name is added as a label `job=` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ['ip1:9090','ip2:9090','ip3:9090']

启动以后访问:
http://ip:9090/targets
然后同样在Grafana中导入模板
Node Exporter for Prometheus Dashboard EN 20201010
dashboard-ID: 11074
Node Exporter Dashboard
dashboard-ID: 16098
学习笔记——压力测试案例,监控平台_第21张图片

你可能感兴趣的:(学习,笔记,压力测试,jmeter,监控平台,influxdb,prometheus)