我正在尝试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)
使用的含义是什么?
单个self.my_user
和self.my_pw
与Number of users to simulate: 5
5个不同的self.my_user
和self.my_pw
与Number of users to simulate: 1
self.my_user
和self.my_pw
与Number of users to simulate: 5
三个中的哪个为负载测试报告提供了更可靠的输出?
答案 0 :(得分:1)
这取决于您的应用程序在负载下的行为。
通常,您希望模拟负载尽可能接近实际负载。在实际负载中,并非所有用户都使用相同的用户名/密码,也不太可能一个用户使用多个用户名/密码。因此,我想说您的选择3可能是最现实的。但同样,这取决于您的应用程序。如果事实证明您的应用程序的行为相同,而不管不同的用户名/密码组合的数量如何,那么这根本就没有关系。