web版本 开源压测工具_开源了一个简单的http服务压测工具Alex,自带web ui,golang实现...
Alex是基于vegeta library和boom封装的压力测试web UI。Vegeta提供稳定的qps压力源,boom提供稳定的并发数压力源。
github地址 https://github.com/ireaderlab/alex
English
Alex架构图
Alex 主要功能
保存压力测试参数以便反复压测
保存压力测试报告以便后续查看和分享
提供了简单直接的图形和文字报告
可以同时对多个http接口进行压力测试
可以同时对集群内多个host:port对进行压测
使用多组调用参数避免压测时出现的数据热点问题
使用步骤设置,生成渐进式的压力源
提供简单的压测机器系统状态实时显示功能
Alex Limitations
Alex运行在单一进程里,如果你需要分布式的压测环境,就得部署多个节点,压测时需要多人同时操作。
Vegeta在压力过载时没有提供立即停止的方法。这就需要你细心设计压测步骤,仔细观察系统状态避免系统过载。
Qps和并发数不宜过大。我曾经使用Alex工具单进程测试了HelloWorld的web程序每个请求吐出1500字节,qps最多可以达到60000,基本让千兆网卡打满。
在大型压力测试下,尽量避免Gzip解压缩。解压缩会消耗大量的cpu资源,会导致压测报告不准确。你可以通过部署多个节点来进行大型压力测试。
只支持Http协议。Https协议不打算支持,因为加密解密也同样会消耗大量cpu资源,导致报告不准确。
报告只是提供一种性能参考,要勇于对报告进行质疑。
Alex虽然有如此诸多限制,这不影响它的日常使用。
安装
install mongodb
install golang # 1.4+ is required
go get github.com/go-martini/martini
go get github.com/tsenart/vegeta
go get gopkg.in/mgo.v2
go get github.com/shirou/gopsutil
# godep restore
git clone https://github.com/shellquery/alex.git
cd alex
go build
./alex
./alex -c config.json
open browser
http://localhost:8000/
配置config.json
{
"BindAddr": "localhost:8000",
"MongoUrl": "mongodb://localhost:27017/alex",
"Teams": [
"python",
"java",
"php",
"go"
]
}
引用
截屏
web版本 开源压测工具_开源了一个简单的http服务压测工具Alex,自带web ui,golang实现...相关推荐
- 如何实现一个简单好用的roadmap制作工具
周末实现的一个简单好用的roadmap制作工具, https://fancylife.github.io/z-roadmap/ ,开源给大家
- [RK3288][Android7.1]在Root用户下的一个简单更改开机动画的小工具
[RK3288][Android7.1]在Root用户下的一个简单更改开机动画的小工具 Platform: Rockchip OS: Android 7.1.2 Kernel: 4.4 需求: 在使用 ...
- python api文档管理工具_开源的api文档管理系统
在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api管理系统专门来管理这些api,从网上找了许多比 ...
- java时序图工具_开源在线绘图工具,界面美观,功能丰富,总有一款适合你
俗话说,一图胜千言,一张小小的图片可以替代大段的文字说明,更可以形象直观地描述业务流程.展示算法...,下面给大家带来几款我最近收藏的开源在线绘图工具. Ant Design Pro 项目地址:htt ...
- web密码尝试工具_尝试下一个Web项目的10种工具
web密码尝试工具 接下来是一些工具的组合,您作为开发人员或设计人员可以尝试下一个项目. 该列表绝不是详尽无遗的,也不是任何事物的"前十名",而只是对那些寻求新事物的人的建议. 我 ...
- 开源怎么保证专利_开源质量保证的基础
开源怎么保证专利 开源依赖于可持续发展的社区来快速开发代码,有效调试代码并构建新功能. 由于社区参与是自愿的,因此人们的技能,参与程度和时间承诺可能会有所不同. 考虑到这些因素的可变性,以及开放源代码 ...
- 最佳 开源 人脸识别算法_开源项目的最佳社会结构是什么?
最佳 开源 人脸识别算法 代码审查是一种实践,可促进开源项目中的快速协作,知识共享和最高质量. 代码审查的社会结构是项目的定义特征. 开源项目的最佳社会结构是什么? 在本文中,我们通过分析三个常见模型 ...
- 开源做账软件_开源软件应该做广告吗?
开源做账软件 鉴于我们对开源软件的依赖程度,人们会认为我们会有很多选择来支持编写代码的开发人员,但我们没有. 哦,可以肯定的是,如果这是一个涉及巨额资金的大型项目, 例如Kubernetes ,那么筹 ...
- navigator工具_推荐!11个令人惊叹的前端开发工具,值得拥有
全文共2080字,预计学习时长6分钟 来源:Pexels 作为前端开发人员,互联网有很多令人惊叹的工具,这些工具为我们的生活提供了极大的便利. 本文将快速回顾开发工作中经常使用的 11 个工具. 大家 ...
最新文章
- lua中正则表达式的坑
- python中用def实现自动排序_用 python 实现各种排序算法
- jupyter Nodebook如何查看函数帮助
- 深入浅出mfc学习笔记——六大关键技术之仿真_运行时和动态创建
- luogu P3808 【模板】AC自动机(简单版)
- 优先级调度算法(C++实现)
- mysql的char和varchar_MySQL的char和varchar
- 详细介绍软件架构设计的三个维度
- php中浮点数计算问题
- Flutter入门进阶之旅(二)Hello Flutter
- [Erlang 0022] It solves the right problems in the right way at the right time
- atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模
- Java千百问_05面向对象(008)_java中覆盖是什么
- 点云与图像融合的深度学习方法综述
- android 模拟器 安装教程,电脑用安卓模拟器详细安装教程
- morning 是字符串的内容变成good_小洁详解《R数据科学》--第十章 使用stringr处理字符串(上)...
- OA系统、ERP系统、MIS系统的区别
- VOT 数据集 groundtruth 8个维度 转成 4个维度的方法
- Flask报错:sqlite3.IntegrityError: NOT NULL constraint failed: step. date
- 【Leetcode刷题Python】714. 买卖股票的最佳时机含手续费