用同时请求轰炸目标服务器
bombard的Python项目详细描述
庞巴迪是一个压力测试和基准测试您的http服务器的工具。 尤其是模拟一个重负载和 具有复杂逻辑的同时http请求。
它是一个非常简单但功能强大的工具 负载测试功能行为。
由于可选的Python内联,您可以快速、轻松地描述 测试的复杂逻辑
测试报告显示服务器每秒的请求数 服务的能力和延迟。
安装
pip install bombard --upgrade
之后使用bombard(bombard.exe在Windows中)可执行文件:
bombard --help
请求说明
请求可以只是url或包含这样描述的json
getToken:url:"{base}auth"# use custom {base} variable to stay DRYmethod:POSTbody:# below is JSON object for request bodyemail:name@example.compassword:adminextract:# get token for next requeststoken:
在第一个请求中,您可以获得上面示例中的安全令牌。
并在以后的请求中使用:
postsList:url:"{host}posts"headers:Authorization:"Bearer{token}"# we get {token} in 1st requestscript:|for post in resp[:3]: # for 1st three posts from response# schedule getPost request (from ammo section)# and provide it with id we got from the responsereload(ammo.getPost, id=post['id'])
包括示例。列举例子
bombard --examples
命令行
从命令行可以更改线程数、循环计数, 提供变量、自定义报表等。
也可以从任何示例中引导自己的bombard.yaml文件 例如:
bombard --init --example simple
报告
命令的报告示例:
bombard --example simple --repeat 2 --threshold 100