zoukankan      html  css  js  c++  java
  • locust 单机压测,分布式压测

    # -*- coding:utf-8 -*-
    
    from locust import HttpUser,TaskSet,task
    import random
    
    class UserBehavior(TaskSet):
    
        def on_start(self):
            #设置user和group的参数下表值
            self.users_index = 0
            self.groups_index = 0
            self.auth = ("admin","admin123")
    
        @task
        def test_users(self):
            user_id = WebsiteUser.user_id[self.users_index]
            url = "/user/" + str(user_id) + "/"
            self.client.get(url,auth=self.auth)
            self.users_index = (self.users_index+1)%len(WebsiteUser.user_id)
        @task
        def test_group(self):
            group_id = WebsiteUser.group_id[self.groups_index]
            url = "/group/" + str(group_id) + "/"
            self.client.get(url,auth = self.auth)
            self.groups_index = (self.groups_index+1)%len(WebsiteUser.group_id)
    
    
    class WebsiteUser(HttpUser):
        user_id = [1,2]
        group_id = [1,2,3]
        tasks = [UserBehavior]
        min_wait = 3000
        max_wait = 6000
        host = "http://127.0.0.1:8000"

    locust -f F:pyScriptdjango_restfullocust_2021locust_user_group.py --headless -u 10 -r 2 -t 300s

    -f 脚本路径

    --headless 非web模式

    -u 用户数

    -r 每秒启用用户数

    -t  运行时间 加单位s

    分布式压测

    locust -f F:pyScriptdjango_restfullocust_2021locust_user_group.py --master

    locust -f F:pyScriptdjango_restfullocust_2021locust_user_group.py --worker

    --master 主节点

    --worker 节点 可以开多个命令一样

  • 相关阅读:
    使用babel插件集
    使用babel
    webpack基本配置
    vue-router参数传递
    路由(二) router-link的使用
    路由使用(一)
    获取DOM
    父组件传递值给子组件(一)
    定义全局组件
    Windows下更改MySQL数据库的存储位置
  • 原文地址:https://www.cnblogs.com/zhenyu1/p/14732126.html
Copyright © 2011-2022 走看看