首页 > php教程 > PHP开发 > 正文

Http服务压力测试工具Alex(自带Web UI)

高洛峰
发布: 2016-11-22 16:51:32
原创
1486 人浏览过

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"

]

}
登录后复制


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!