我正在使用蝗虫对api进行负载测试。我正在该API上发送POST请求。我的用例是我想检查一次api可以处理多少个请求。这是我的代码
import requests
from locust import HttpLocust, TaskSet
from requests.auth import HTTPDigestAuth
from credentials import *
class UserBehavior(TaskSet):
def on_start(self):
if len(USER_CREDENTIALS) > 0:
self.name, self.password,self.email,self.phone,self.country_abbrev = USER_CREDENTIALS.pop()
@task
def registration(self):
URL = "ip/user/register"
PARAMS = {'name':self.name,'password': self.password,'primary_email': self.email,'primary_mobile_number':self.phone,'country_abbrev':self.country_abbrev}
self.client.post(url = URL,params = PARAMS,auth=HTTPDigestAuth('user', 'pass'))
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 5000
max_wait = 9000
然后运行locust -f locust.py --host = localhost:8089
然后我可以选择设置孵化率和用户数量。如果我只想同时发送100个发布请求,以检查API是否一次可以处理100个请求,应该将值设置为什么。
任何帮助将不胜感激
答案 0 :(得分:1)
蝗虫有两个参数。 孵化率和用户数。 对于您的情况,请选择: 用户数为100,孵化率为100。
这意味着您希望以每秒100个用户的速率生成100个用户。 这样就解决了您的用例。 希望这会有所帮助!。
答案 1 :(得分:0)
据我了解,您想找到服务器的断点。
您的服务器可以处理多少个请求,或者是否有足够的能力来处理
一旦发现API响应错误或某些情况下服务器可能崩溃,您就可以逐渐提高no或用户和孵化率。
您可以尝试:
heatchrate ----> User request
-r ----> -c
10 ----> 100
50 ----> 500
100 ----> 1000
500 ----> 5000