现在的位置: 首页 > 综合 > 正文

HTTP负载工具性能评测(ab,siege,webbench,http_load,sniper)

2018年04月19日 ⁄ 综合 ⁄ 共 555字 ⁄ 字号 评论关闭

http://www.lubia.me/http-loader-compare这篇文章对目前主流的HTTP负载工具性能进行评测,再对比本人采用Golang编写的负载工具Sniper,分析差异与不足。

1、硬件配置

服务端:

Ubuntu 12.04 i386,虚拟机,四核cpu,1G内存

客户端:

与服务端相同,Ubuntu 12.04 i386,虚拟机,四核cpu,1G内存

2、服务端代码

采用Golang编写,收到请求即返回50k大小的数据,支持http keep-alive

代码在此,执行方式  ./httpserver 51200

3、测试方式

采用100并发,100k总请求数,对比各个工具的每秒事务数以及内存占用。测试结果如下

从每秒事务数可以看出,在HTTP短连接的情况下,http_load性能最高且内存占用最低,只不过不支持keep-alive模式,ab次之,随后是sniper,sniper采用Golang编写,看来性能不比C差多少。而在keep-alive模式下,只有siege和sniper支持,sniper的性能又更好一些。其中由于webbench不支持指定总请求数,只能指定执行时间为30s,再相除获得每秒事务数。

相关阅读

1、ab源码研究

2、ab输出结果详细解析

3、Golang 实现的HTTP负载工具sniper

抱歉!评论已关闭.