python第三方类库locust压力测试

举报
建帅小伙儿 发表于 2022/09/25 01:59:42 2022/09/25
4.2k+ 0 0
【摘要】 1.代码如下 # coding=utf-8""" 作者:建帅小伙儿 功能: 新增功能: 日期:2022/2/23 17:25"""from locust import HttpUser, between, task, TaskSetimport osfrom common.agCli import *i...

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):虚拟用户数运行

文章来源: blog.csdn.net,作者:懿曲折扇情,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41332844/article/details/126837431

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。