前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >locust可视化压测平台

locust可视化压测平台

作者头像
测试加
发布2022-04-27 15:35:37
9720
发布2022-04-27 15:35:37
举报
文章被收录于专栏:用户4624600的专栏

背景

前段时间,公司项目需要压测某个服务.公司所有使用的都是locust作为压测脚本,该项目延续使用locust.

用过locust的小伙伴应该都知道,locust工具本身提供一个web平台,可以实时查看数据,但是也有缺点:数据不能存储,所有测试数据存在了内存中,重启以后测试数据会消失.

当时的需求是陆续压测几天,需要有一份能持续对比的压测数据,所以想把locust持久化存储.

解决方案

基于之前使用jmeter的方案,继续沿用 grafana + prometheus + prometheus_exporter. 使用prometheus存储locust产出的压测的数据,grafana作为前端页面展示数据.

安装依赖

python3-devel

代码语言:javascript
复制
sudo yum  install python3-devel

locust

代码语言:javascript
复制
pip3 install locust==1.6(版本必须一样)

安装prometheus

prometheus

代码语言:javascript
复制
docker pull prom/prometheus

prometheus.yml

代码语言:javascript
复制
global:
  scrape_interval:     10s
  evaluation_interval: 10s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus

  - job_name: locust

    metrics_path: '/export/prometheus'
    static_configs:
      - targets: ['127.0.0.1:8089']  # 地址修改为实际地址
        labels:
          instance: locust

启动命令

代码语言:javascript
复制
docker run -p 9091:9090 -v 

graph

代码语言:javascript
复制
http://127.0.0.1:9091/graph

prometheus_exporter

prometheus_exporter.py

代码语言:javascript
复制
https://github.com/myzhan/boomer/edit/master/prometheus_exporter.py

prometheus_client

代码语言:javascript
复制
https://github.com/prometheus/client_python
pip3 install prometheus_client

启动master(采集数据)

代码语言:javascript
复制
locust --master -f prometheus_exporter.py

demo脚本

代码语言:javascript
复制
# !/usr/local/bin/python
# -*- coding:utf-8 -*-
from locust import HttpUser, TaskSet, task, between

class NoSlowQTaskSet(HttpUser):
    host = "http://aibot.speech.api.autohome.com.cn/"
    @task
    def index_page(self):
        r = self.client.get("/")

启动worker脚本

代码语言:javascript
复制
locust --worker -f demo.py

服务器设置保留端口,Locust的Web页面

配置服务器8089端口

代码语言:javascript
复制
http://127.0.0.1:8089

grafana前端

docker命令

代码语言:javascript
复制
docker run  -d --name grafana -p 3000:3000   -v /data/grafana:/var/lib/grafana  grafana/grafana

配置面板

grafana展示效果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试加 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 解决方案
  • 安装依赖
  • 安装prometheus
  • prometheus_exporter
  • demo脚本
  • grafana前端
相关产品与服务
Grafana 服务
Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档