问题 RT。请大家帮忙看下,感激不尽!
** 想对环境进行下压测,看下并发数和相关吞吐量的情况。中间遇到一个问题:
用 locust 设置用户为 50 的时候,发现执行 locust,并发数只能达到 31.
将并发数设置为 100 时,最后并发数是 81,总是有 19 个用户没法执行。
不知道是为啥.**
这个是登录的账号,相关的账号信息如下,包含用户类型,用户名,密码
登录的代码如下
def login(self):
username,password = get_customer_account()
login='/passport/login'
params={'logintype':'PASSWORD','username':username,'password':password}
r=self.client.post(base_url+login,data=params)
print('username',username)
print(r.status_code)
print("登录成功")
上面的 get_customer_account() 是下面这个读取文件的模块提供的
demo_environment = 'demo_username.csv'
master_environment = 'master_username.csv'
test_environment = 'test_username.csv'
#获取登录文件,然后拿到登录账号进行登录*************************************************************
path_parent=os.path.abspath(os.path.dirname(os.path.dirname(__file__))) #获取父目录
path = path_parent+'/csv_data/' + demo_environment
with open(path) as file:
customer_queue=queue.Queue()
supplier_queue=queue.Queue()
manager_queue=queue.Queue()
for line in file:
if 'account_type' in line:
print('跳过登录表首行列名')
elif 'customer' in line:
account=line.strip().split(',')[1]
password=line.strip().split(',')[2]
customer_queue.put([account,password])
elif 'supplier' in line:
account=line.strip().split(',')[1]
password=line.strip().split(',')[2]
supplier_queue.put([account,password])
elif 'manager' in line:
account=line.strip().split(',')[1]
password=line.strip().split(',')[2]
manager_queue.put([account,password])
#每次获取队列元素的时候,同时进行写入
def get_customer_account():
account,password=customer_queue.get()
customer_queue.put([account,password])
return account,password