首页 > 其他 > 详细

Locust登陆压力测试

时间:2019-02-13 10:43:50      阅读:239      评论:0      收藏:0      [点我收藏+]

debugtalk 大大很早就在国内给大家介绍过locust. 在他的博文里有讲解有例子。真正实用得自己在项目中还得靠自己灵活应用。

http://debugtalk.com/post/head-first-locust-advanced-script/

1. 按照locust.io官网推荐的项目结构。如下图

技术分享图片

 

locust的子类httplocust底层用的是requests. 因此做API性能测试需要最好对rest API有些基础知识。

2. 登陆例子

from locust import HttpLocust, TaskSet, task
from random import randint
from locust.clients import HttpSession
import json

# Web性能测试
class UserBehavior(TaskSet):
@task
def login(self):
self.head = {Content-Type: application/json;charset=utf-8,
token: planceholder,
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36,
userId: planceholder
}

self.form_data = {account: admin,
password: zs123YL!}

with self.client.post("/api/chameleon-user/user/login", headers = self.head, data = json.dumps(self.form_data)) as response:
print(response.status_code)
print(response.content)

class User(HttpLocust):
task_set = UserBehavior
min_wait = 1000
max_wait = 3000
host = "http://172.16.78.73:3011"

3. 脚本运行

import os
os.system(locust -f locustfiles\op_parameter.py)

4. 指定压力用户数和用户产生的速度。

 技术分享图片

 

5. 开始加压后,就可以看到网页API的响应成功,响应时间,和请求速率等性能参数了。

 技术分享图片

6. locust 支持master 和slave集群,让locust支持百万级用户压力测试。

个在应用locust的时候踩过的坑,

1. 启动locust web interface 报告访问拒绝, 换成http://localhost:8089就OK了。 

技术分享图片

 

2. 运行locust脚本报套接字地址只允许使用一次。原因是同一个locust脚本多次启动了。

技术分享图片

 


---------------------
作者:warm77
来源:CSDN
原文:https://blog.csdn.net/warm77/article/details/80263996
版权声明:本文为博主原创文章,转载请附上博文链接!

Locust登陆压力测试

原文:https://www.cnblogs.com/happyyangyanghappy/p/10368172.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!