Web服务压力测试工具BullBench
什么是 BullBench ? (what)
- 一个可以对web服务进行压力测试的工具
- 最大特点,BullBench 可以读取 nginx access log 中请求,并将其发送给web服务。
- 也可以读取自定义文件,使用正则匹配和替换,定制请求,发送给web服务。
- 可以同时模拟15000并发度请求(具体数值受限于系统配置)
- 和bullbench类似的软件有 webbench、tcpcopy、jmeter等,与它们相比,bullbench有自己独特的地方,比webbench功能多,比tcpcopy操作简单,比jmeter编写测试用例的学习成本更低。
代码托管地址 : (where)
https://github.com/zuocheng-liu/BullBench
为何编写这个软件? (why)
主要原因是,我曾经在查找一个系统内存泄漏问题时,遇到了一些阻碍:
- 线下压力测试时,要尽可能模拟线上请求
- 理想方案是使用tcpcopy,复制线上流量,但是目前没有现成的tcpcopy环境
为了克服这些阻碍,就写一个简单的工具,先是读取nginx access log, 提取请求uri,然后模拟1000个客户端发送给Web后台。
这个工具经过再完善和变得更通用之后,bullbench诞生了。
什么时候用呢? 以及软件的局限有哪些。(when)
使用场景:
- 压力测试时
- 追踪bug,复现线上问题
局限:
- 如果没有请求日志,无法使用bullbench进行压力测试
- 只能模拟发送HTTP GET请求
- 不能够处理 HTTP 3XX 重定向服务
- 其他
作者联系方式 (who):
- 刘作程career@zuocheng.net
如何编译? (how )
进入源代码目录,执行make
如何使用?
执行 ./bin/bullbench -h 有详细说明和使用实例
BoolBench 1.0-f <filename> 包含请求的文件,可以是nginx access log,也可以是自定义的数据文件-t <num> 请求文件的类型, 1 是 nginx access log, 0 其他 其他, 默认是 1-u <url> 请求的url前缀, 不支持 https, 比如 http://www.bullsoft.org-H <host> HTTP请求头字段Host, 默认是 NULL-c <num> 并发请求的线程数, 默认是 1000-r <regex> 正则表达式,用于提取请求文件中特定的内容. 必须和参数'-t 0' 搭配。-o <string> 正则变量拼接后的字符串, 支持 $0-$9-h 显示帮助信息
实例1: ./bullbench -f /var/log/nginx/access.log -u http://127.0.0.1:8080
实例2: ./bullbench -f /var/log/nginx/access.log -u http://127.0.0.1:8080 -H www.bullsoft.org
实例3: ./bullbench -f /var/log/nginx/access.log -u http://127.0.0.1:8080 -t 0 -r "[a-z]*([0-9]+)([a-z]*)" -o "/display?a=\$1&b=\$2"
一些参数(how much? how many?)
并发线程数设置多少,依据系统情况而定。
转载请注明来源,原地址保持永久更新。
博客首页:作程的技术博客
文章标题:《Web服务压力测试工具BullBench》
本文链接:https://it.zuocheng.net/web-bullbench-zh
Web服务压力测试工具BullBench相关推荐
- web服务压力测试)有效的压力测试系统将应用以下这些关键条件
1)重复(Repetition):最明显的且最容易理解的压力条件就是测试的重复.换句话说,测试的重复就是一遍又一遍地执行某个操作或功能,比如重复调用一个Web 服务.功能验证测试可以用来被弄清楚一个操 ...
- 十个免费的Web负载/压力测试工具
Grinder – Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利.支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理.根据 ...
- 三种web性能压力测试工具
三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://w ...
- Web性能压力测试工具之WebBench详解
在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...
- Web性能压力测试工具-Webbench
目录 Webench Webbench实现的核心原理 安装和使用 注意总结 安全隐患 Webench Webench是一款LInux轻量级的网站测压工具,最多可以对网站模拟3w左右的并发请求,可以控制 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...
- Web性能压力测试工具——Siege详解
Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行. ...
- Linux下Web网站压力测试工具Webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小. 一,环境:linux 二,安装方式:编译安装 具体 ...
- Web网站压力测试工具
使用Microsoft Web Application Stress Tool对web进行压力测试 不错关于压力测试博客: http://blog.sina.com.cn/s/blog_5155e8d ...
- linux下的web服务器压力测试工具之ab
介绍 ab是apache附带的一款压力测试工具,它非常容易使用,ab可以直接在Web服务器本地发起测试请求.这至关重要,因为我们希望测试的服务器的处理时间,而不包含数据的网络传输时间以及用户PC本地的 ...
最新文章
- 【2018-01-22】HTML-表单及表单元素
- jQuery选择器实现隔行变色和使用javaScript实现隔行变色
- 函数 —— strtok() 例如:Fred male 25,John male 62,Anna female 16两层循环
- vins 解读_代码解读 | VINS 视觉前端
- python flask 如何修改默认端口号
- 认识控制台-控制台句柄、附着到控制台、关闭控制台
- 请求的站点不可用或找不到_公厕再不是“找不到、用不了、坐不下”
- 回忆---中秋夜赴京城考OCP有感
- 014、BOM与DOM对象的应用
- 统计单词出现的次数并进行排
- 切换分支 如何判断 是否完成_如何判断展览公司是否专业?
- 面试官最爱的 volatile 关键字,这些问题你都搞懂了没?
- 大数据可视化常见的三种错误
- python 数据集中随机选择作为测试集、验证集
- 成长路上破局思维:工具化时间管理
- 笔记本固态硬盘温度测试软件,台式电脑ssd固态硬盘温度多少算正常?查看ssd固态硬盘温度的方法...
- 计算机伦理的发展,人工智能技术发展的伦理困境研究
- 【融云出海白皮书免费看】出海洞察之沙特的「土豪行为」盘点
- 哈工大计算机网络期末复习资料知识点总结
- 云队友丨五大思维模式,决定你的人生能走多远
热门文章
- 素材资源解析系统源码 代下程序 第三方平台下载站程序千图网千库网等素材网站下载网站
- 普林斯顿微积分读本篇十五:积分方法
- UniWebView使用总结
- bubblesort java,算法bubbleSort()
- 常用网线的规格及型号总结
- 实验二:线性时间选择
- Excel数据透视表
- 联想E430c:To interrupt normal starup,press enter问题解决方法
- python label字体_Matplotlib xlabel,Arial格式,带一个斜体字
- java helloworld源代码_Java Hello World源代码剖析