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.压力入口

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

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

推荐阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。