locust http 压测

本文介绍了 Locust 压测工具从0.9版本升级到1.4.3版本遇到的问题及解决方法,包括任务集语法变更、分布式设置的变化。在升级过程中,注意不同版本的环境冲突,以及`task_set`变为`tasks`并需转化为迭代器。分布式设置中,`--slave`参数改为`--worker`,`--master-host`用于指定主节点地址。通过这些调整,可以顺利进行分布式压测。
摘要由CSDN通过智能技术生成

以前玩过  现在发现变化有点大哎

# -*- coding: utf-8 -*-
# create time    : 2021-03-23 10:43
# author  : CY
# file    : locust_face.py
# modify time:
import os
import random

import requests
from locust import HttpUser, TaskSet, task, between
from Page.api.quick_register.get_face_information import get_face_images_information
from Page.config.get_face_path import get_image_path


image_folder_path = get_image_path()
man_face_dir_path = os.sep.join([image_folder_path, 'man'])
man_face_images_path_list = get_face_images_information(man_face_dir_path, '0')
ws_url = "被测系统的域名"


class HTTPFaceTask(TaskSet):
    sid = 'sid or token'
    url = 'https://' + ws_url
    header = {"Authorization": 'sid %s' % sid}

    @task(1)
    def test_upload_attendance_image(self):
        """上传考勤照片"""
        url = self.url + f'/face/user/match/v1/'
        image_path = random.choice(man_face_images_path_list)
        image_name = os.path.basename(image_path)
        params = {
            'onlyUpFile': True
        }
        image_files = {'faceFile': (image_name, open(image_path, 'rb'), 'image/jpg')}
        with self.client.post(url=url, headers=self.header, files=image_files, data=params, catch_response=True) as result:
            print(result.content)
            print(result.status_code)
            if result.status_code == 200: result.success()
            else: result.failure(f'code:{result.status_code} ErrorMsg:{result.text}')


class WebsiteUser(HttpUser):
    tasks = [HTTPFaceTask]
    min_wait = 5000  # 最小等待时间 ms
    max_wait = 15000  # 最大等待时间 ms
    wait_time = between(2, 5)  # 任务执行间隔时间 s
    host = 'http://localhost/'


if __name__ == '__main__':
    cmd = 'locust -f locust_face.py'
    os.system(cmd)

坑:

1、电脑环境是 locust  0.9版本,然后我在虚拟环境安装了 1.4.3,在虚拟环境执行,然后莫名其妙走到了外面的0.9,没深究 把外面的卸载了,就好了

2、语法 以前是 task_set 现在是tasks 且 后面 要把它变成一个迭代器

 

压测这个东西 千年用一回 费时费力不讨好 不用刻意去记忆当前版本语法,啥时候使用啥时候看即可

 

然后分布式也变了

主master 没变

子 --slave 变成了 --worker

若继续 则 会出现异常

The --slave/--expect-slaves parameters have been renamed --worker/--expect-workers

那么换成 

locust -f locust_face.py --woker --master-host=192.168.22.92

即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值