目 录CONTENT

文章目录

python第三方类库locust压力测试

懿曲折扇情
2022-04-20 / 0 评论 / 2 点赞 / 433 阅读 / 589 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

1.代码如下

# coding=utf-8
"""
    作者:建帅小伙儿
    功能:
    新增功能:
    日期:2022/2/23 17:25
"""
from locust import HttpUser, between, task, TaskSet
import os
from common.agCli import *
import logging


class TaskTest(TaskSet, CLI):

    # 执行并发前置动作,比如清理当前所有session
    def on_start(self):
        """
        description:登录ag, 清理log
        :return:
        """
        self.ssh_ag()
        self.clear_log()
        logging.info('清理log结束,压测开始!!!')

    # 压测任务,也可以是@task(10)啥的,这个数字是代表权重,数值越大,执行的频率就越高
    @task
    def login(self):
        url = '/prx/000/http/localh/login'
        data = {
            "method": "http1",
            "uname": "gaojs",
            "pwd1": "",
            "pwd2": "",
            "pwd": "admin",
            "submitbutton": "Sign"
        }
        header = {"Content-Type": "application/json;charset=UTF-8"}
        self.client.request(method='POST', url=url, data=data, headers=header, name='登录虚拟站点', verify=False, allow_redirects=False)

    # 执行并发测试后执行的动作,比如保存log等操作,查看报告http://localhost:8089/
    def on_stop(self):
        self.ssh_ag()
        self.cli_cmd('switch vsite')
        self.cli_cmd('session kill all')
        logging.info('清理session结束,压测结束,请查看report, http://localhost:8089!!!')


class Login(HttpUser):
    host = 'https://192.168.120.206'
    # 每次请求停顿时间
    wait_time = between(1, 3)
    tasks = [TaskTest]


if __name__ == "__main__":
    os.system("locust -f locust_test.py --host=https://192.168.120.206")

2.压力入口

image-1650383975096

image-1650383994129

  1. Type:请求类型;
    2.Name:请求路径;
    3.requests:当前请求的数量;
    4.fails:当前请求失败的数量;
    5.Median:中间值,单位毫秒,一般服务器响应时间低于该值,而另一半高于该值;
    6.Average:所有请求的平均响应时间,毫秒;
    7.Min:请求的最小的服务器响应时间,毫秒;
    8.Max:请求的最大服务器响应时间,毫秒;
    9.Content Size:单个请求的大小,单位字节;
    10.reqs/sec:每秒钟请求的个数。

image-1650384078927

image-1650384086448

charts页签下面的参数(Total Requsts per Second)
1.(Total Requsts per Secon):吞吐量/每秒响应事务数(rps)实时统计
2.(Response Times):平均响应时间/平均事务数实时统计
3.(Number of Users):虚拟用户数运行

2

评论区