LocustIO:用户群

时间:2018-11-16 02:58:27

标签: python load-testing locust

我正在尝试Locust。在这里,您可以在指定的孵化率范围内使用模拟的用户数量来集中系统。

class UserBehavior(TaskSet):  
    def on_start(self):  
        self.login()  

    def login(self):
    payload = {"grant_type": "password",
              "username": self.my_user,
              "password": self.my_pw,
              ...
              }
            }
    headers = {'content-type': 'application/json'}
    response = self.client.post("/rest/v10/oauth2/token", data=json.dumps(payload), headers=headers, catch_response=True)
    self.token = response.json()['access_token']

    @task(1)
    def fetch_accounts(self):
        headers = {'oauth-token': self.token}
        response = self.client.get("/rest/v10/Accounts", headers=headers)   

使用的含义是什么?

  1. 单个self.my_userself.my_pwNumber of users to simulate: 5

  2. 5个不同的self.my_userself.my_pwNumber of users to simulate: 1

  3. 5个不同的self.my_userself.my_pwNumber of users to simulate: 5

三个中的哪个为负载测试报告提供了更可靠的输出?

1 个答案:

答案 0 :(得分:1)

简短答案

这取决于您的应用程序在负载下的行为。

长答案

通常,您希望模拟负载尽可能接近实际负载。在实际负载中,并非所有用户都使用相同的用户名/密码,也不太可能一个用户使用多个用户名/密码。因此,我想说您的选择3可能是最现实的。但同样,这取决于您的应用程序。如果事实证明您的应用程序的行为相同,而不管不同的用户名/密码组合的数量如何,那么这根本就没有关系。