压测:Locust 测试环境容器化

压测:Locust 测试环境容器化

一、需求:统一版本

虽然 Locust 压测环境安装简单,但是项目中常常出现版本问题导致异常。
在这里插入图片描述

二、容器化
  1. docker-compose.yml
version: '3'

services:

 master:
   build: .
   container_name: locust-master
   restart: always
   ports:
     - "8089:8089"
   volumes:
     - ${PWD}:/usr/src/app
   command: [
       "locust",
       "--master",
       "-f",
       "run.py"
   ]


 slave:
   build: .
   depends_on:
     - master
     - redis
   volumes:
     - ${PWD}:/usr/src/app
   command: [
       "locust",
       "-f",
       "run.py",
       "--slave",
       "--master-host",
       "master"
   ]

 redis:
   image: redis
   container_name: locust-redis
   command: redis-server
   restart: always

networks:
 locust_net:
   ipam:
     driver: default
     config:
       - subnet: "172.10.10.0/24"
  1. dockerfile
FROM python:3.7.2-slim

MAINTAINER allan

ENV PYTHONPATH=/usr/src/app \
   PYTHONDONTWRITEBYTECODE=1 \
   REDIS_IP='redis'

WORKDIR ${PYTHONPATH}

ADD requirements.txt ${PYTHONPATH}

RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list \
 && rm -rf /var/lib/apt/lists/* /tmp/*

RUN pip install --upgrade pip \
   && pip install --default-timeout=1000 \
       --no-cache-dir -r requirements.txt \
       -i https://pypi.doubanio.com/simple/
  1. requirements.txt
gevent==1.4.0
greenlet==0.4.15
locustio==0.11.0
numpy==1.21.4
python_redis_lock==3.7.0
redis==4.0.2
redis_lock==0.2.0
requests==2.25.1
six==1.16.0
websocket_client==1.2.3
三、运行
1.在容器环境中运行主程序(根目录下)
docker-compose up -d
2.运行主程序时指定slave数量以获得多核支持
docker-compose up --scale slave=64 -d
3.访问Locust Web界面
http://${IP}:8089
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值