Web服务压力测试工具BullBench
生活随笔
收集整理的這篇文章主要介紹了
Web服务压力测试工具BullBench
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
什么是 BullBench ? (what)
- 一個可以對web服務(wù)進行壓力測試的工具
- 最大特點,BullBench 可以讀取 nginx access log 中請求,并將其發(fā)送給web服務(wù)。
- 也可以讀取自定義文件,使用正則匹配和替換,定制請求,發(fā)送給web服務(wù)。
- 可以同時模擬15000并發(fā)度請求(具體數(shù)值受限于系統(tǒng)配置)
- 和bullbench類似的軟件有 webbench、tcpcopy、jmeter等,與它們相比,bullbench有自己獨特的地方,比webbench功能多,比tcpcopy操作簡單,比jmeter編寫測試用例的學(xué)習(xí)成本更低。
代碼托管地址 : (where)
https://github.com/zuocheng-liu/BullBench
為何編寫這個軟件? (why)
主要原因是,我曾經(jīng)在查找一個系統(tǒng)內(nèi)存泄漏問題時,遇到了一些阻礙:
- 線下壓力測試時,要盡可能模擬線上請求
- 理想方案是使用tcpcopy,復(fù)制線上流量,但是目前沒有現(xiàn)成的tcpcopy環(huán)境
為了克服這些阻礙,就寫一個簡單的工具,先是讀取nginx access log, 提取請求uri,然后模擬1000個客戶端發(fā)送給Web后臺。
這個工具經(jīng)過再完善和變得更通用之后,bullbench誕生了。
什么時候用呢? 以及軟件的局限有哪些。(when)
使用場景:
- 壓力測試時
- 追蹤bug,復(fù)現(xiàn)線上問題
局限:
- 如果沒有請求日志,無法使用bullbench進行壓力測試
- 只能模擬發(fā)送HTTP GET請求
- 不能夠處理 HTTP 3XX 重定向服務(wù)
- 其他
作者聯(lián)系方式 (who):
- 劉作程career@zuocheng.net
如何編譯? (how )
進入源代碼目錄,執(zhí)行make
如何使用?
執(zhí)行 ./bin/bullbench -h 有詳細(xì)說明和使用實例
BoolBench 1.0-f <filename> 包含請求的文件,可以是nginx access log,也可以是自定義的數(shù)據(jù)文件-t <num> 請求文件的類型, 1 是 nginx access log, 0 其他 其他, 默認(rèn)是 1-u <url> 請求的url前綴, 不支持 https, 比如 http://www.bullsoft.org-H <host> HTTP請求頭字段Host, 默認(rèn)是 NULL-c <num> 并發(fā)請求的線程數(shù), 默認(rèn)是 1000-r <regex> 正則表達式,用于提取請求文件中特定的內(nèi)容. 必須和參數(shù)'-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"一些參數(shù)(how much? how many?)
并發(fā)線程數(shù)設(shè)置多少,依據(jù)系統(tǒng)情況而定。
轉(zhuǎn)載請注明來源,原地址保持永久更新。?
博客首頁:作程的技術(shù)博客?
文章標(biāo)題:《Web服務(wù)壓力測試工具BullBench》?
本文鏈接:https://it.zuocheng.net/web-bullbench-zh
總結(jié)
以上是生活随笔為你收集整理的Web服务压力测试工具BullBench的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Configuate Mac OSX $
- 下一篇: 百度新闻的索引机制(二):智能聚类