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实现...相关推荐

  1. 如何实现一个简单好用的roadmap制作工具

    周末实现的一个简单好用的roadmap制作工具, https://fancylife.github.io/z-roadmap/  ,开源给大家

  2. [RK3288][Android7.1]在Root用户下的一个简单更改开机动画的小工具

    [RK3288][Android7.1]在Root用户下的一个简单更改开机动画的小工具 Platform: Rockchip OS: Android 7.1.2 Kernel: 4.4 需求: 在使用 ...

  3. python api文档管理工具_开源的api文档管理系统

    在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api管理系统专门来管理这些api,从网上找了许多比 ...

  4. java时序图工具_开源在线绘图工具,界面美观,功能丰富,总有一款适合你

    俗话说,一图胜千言,一张小小的图片可以替代大段的文字说明,更可以形象直观地描述业务流程.展示算法...,下面给大家带来几款我最近收藏的开源在线绘图工具. Ant Design Pro 项目地址:htt ...

  5. web密码尝试工具_尝试下一个Web项目的10种工具

    web密码尝试工具 接下来是一些工具的组合,您作为开发人员或设计人员可以尝试下一个项目. 该列表绝不是详尽无遗的,也不是任何事物的"前十名",而只是对那些寻求新事物的人的建议. 我 ...

  6. 开源怎么保证专利_开源质量保证的基础

    开源怎么保证专利 开源依赖于可持续发展的社区来快速开发代码,有效调试代码并构建新功能. 由于社区参与是自愿的,因此人们的技能,参与程度和时间承诺可能会有所不同. 考虑到这些因素的可变性,以及开放源代码 ...

  7. 最佳 开源 人脸识别算法_开源项目的最佳社会结构是什么?

    最佳 开源 人脸识别算法 代码审查是一种实践,可促进开源项目中的快速协作,知识共享和最高质量. 代码审查的社会结构是项目的定义特征. 开源项目的最佳社会结构是什么? 在本文中,我们通过分析三个常见模型 ...

  8. 开源做账软件_开源软件应该做广告吗?

    开源做账软件 鉴于我们对开源软件的依赖程度,人们会认为我们会有很多选择来支持编写代码的开发人员,但我们没有. 哦,可以肯定的是,如果这是一个涉及巨额资金的大型项目, 例如Kubernetes ,那么筹 ...

  9. navigator工具_推荐!11个令人惊叹的前端开发工具,值得拥有

    全文共2080字,预计学习时长6分钟 来源:Pexels 作为前端开发人员,互联网有很多令人惊叹的工具,这些工具为我们的生活提供了极大的便利. 本文将快速回顾开发工作中经常使用的 11 个工具. 大家 ...

最新文章

  1. lua中正则表达式的坑
  2. python中用def实现自动排序_用 python 实现各种排序算法
  3. jupyter Nodebook如何查看函数帮助
  4. 深入浅出mfc学习笔记——六大关键技术之仿真_运行时和动态创建
  5. luogu P3808 【模板】AC自动机(简单版)
  6. 优先级调度算法(C++实现)
  7. mysql的char和varchar_MySQL的char和varchar
  8. 详细介绍软件架构设计的三个维度
  9. php中浮点数计算问题
  10. Flutter入门进阶之旅(二)Hello Flutter
  11. [Erlang 0022] It solves the right problems in the right way at the right time
  12. atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模
  13. Java千百问_05面向对象(008)_java中覆盖是什么
  14. 点云与图像融合的深度学习方法综述
  15. android 模拟器 安装教程,电脑用安卓模拟器详细安装教程
  16. morning 是字符串的内容变成good_小洁详解《R数据科学》--第十章 使用stringr处理字符串(上)...
  17. OA系统、ERP系统、MIS系统的区别
  18. VOT 数据集 groundtruth 8个维度 转成 4个维度的方法
  19. Flask报错:sqlite3.IntegrityError: NOT NULL constraint failed: step. date
  20. 【Leetcode刷题Python】714. 买卖股票的最佳时机含手续费

热门文章

  1. AI: 如何快速开发智能机器人 Bot Intelligence
  2. [转]阿里巴巴离职DBA 35岁总结的职业生涯
  3. PostgreSQL中的约束
  4. MTK驱动之modem编译及配置
  5. Vue路由--无痕浏览 NodeJs环境搭建
  6. 因误删文件导致CentOS7开机卡死无法进入图形登录界面
  7. 软件最后一步------打包
  8. 解决开机提示STOP:c0000218办法教程
  9. 9、Akka中邮箱(MailBox)
  10. 宝德服务器bmc默认账号密码,宝德服务器系统管理平台用户操作手册.pdf