web性能测试工具——http_load
- http_load是一款基于Linux平台的web服务器性能测试工具,用于测试web服务器的吞吐量与负载,web页面的性能。
http_load是基于linux、unix平台的一种性能测工具
它以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能
但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死
还可以测试HTTPS类的网站请求
wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
tar xzvf http_load-12mar2006.tar.gz
cd http_load-12mar2006
make &make install
可能会出现以下错误:

解决依赖包
yum install -y gcc*

解决方法:
mkdir /usr/local/man
http_load的使用
建立URL集合文件
vim url.txt
#我的博客地址网站
http://192.168.31.66:8686/upload/
使用方法:
-parallel 简写-p :含义是并发的用户进程数。
-fetches 简写-f :含义是总计的访问次数
-rate 简写-p :含义是每秒的访问频率
-seconds简写-s :含义是总计的访问时间
只要使用http_load命令,-parallel或者-rate必须填一个
只要使用http_load命令,-fetche或者-seconds必须填一个
[root@MiWiFi-R1CM-srv ~]# http_load -rate 5 -seconds 10 url.txt
http://192.168.31.66:8686/upload/: byte count wrong
49 fetches, 1 max parallel, 659443 bytes, in 10.0001 seconds
13458 mean bytes/connection
4.89996 fetches/sec, 65943.8 bytes/sec
msecs/connect: 1.24116 mean, 4.237 max, 0.361 min
msecs/first-response: 41.323 mean, 53.493 max, 27.973 min
1 bad byte counts
HTTP response codes:
code 200 -- 49 执行了一个持续时间10秒的测试,每秒的频率为5。
[root@MiWiFi-R1CM-srv ~]# http_load -p 10 -f 5000 url.txt
5000 fetches, 10 max parallel, 6.7295e+07 bytes, in 137.336 seconds
13459 mean bytes/connection
36.4071 fetches/sec, 490003 bytes/sec
msecs/connect: 0.347501 mean, 4.285 max, 0.11 min
msecs/first-response: 271.953 mean, 455.505 max, 79.432 min
HTTP response codes:
code 200 -- 5000
执行了一个总访问次数为5000 并发进程数为10的测试
结果解释
5000 fetches, 10 max parallel, 6.7295e+07 bytes, in 137.336 seconds
说明在上面的测试中运行了5000个请求,最大的并发进程数是10,总计传输的数据是 6.7295e+07bytes,运行的时间是 137.336 13459 mean bytes/connection
说明每一连接平均传输的数据量6.7295e+07/5000=13459 36.4071 fetches/sec, 490003 bytes/sec
说明每秒的响应请求为36.4071 ,每秒传递的数据为490003 bytes/sec msecs/connect: 0.347501 mean, 4.285 max, 0.11 min
说明每连接的平均响应时间是0.347501msecs,最大的响应时间4.285 msecs,最小的响应时间0.11 msecs
msecs/first-response: 271.953 mean, 455.505 max, 79.432 min
每秒响应用户数和response time,每连接响应用户时间 HTTP response codes:
code 200 -- 5000
明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:这里,我们一般会关注到的指标是fetches/sec、msecs/connect
可能出现的输出错误
1)byte count wrong
http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出
byte count wrong 2)too many open files
系统限制的open files太小,ulimit -n 修改open files值即可 3)无法发送大请求 (请求长度>600个字符)
默认接受请求的buf大小 http_load.c 4)Cannot assign requested address
客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用
的端口号,所以新的连接没办法绑定端口,所以要改客户端机器的配置,
在sysctl.conf里加:
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,
默认为0,表示关闭;
net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收
web性能测试工具——http_load的更多相关文章
- Web性能测试工具:http_load安装&使用简介
除了siege,在Web性能测试工具中,http_load也是比较热门和常见的一款,有时因为种种原因,只能使用现成的工具,所以多了解和掌握一种Web性能测试工具是很有必要的. 1.下载安装包 略过 2 ...
- pylot是一款开源的web性能测试工具
pylot是一款开源的web性能测试工具,http://www.pylot.org/ 参考文档:http://www.pylot.org/gettingstarted.html很容易上手 使用分为以下 ...
- 【web性能】web性能测试工具推荐
WEB性能测试工具主要分为三种,一种是测试页面资源加载速度的,一种是测试页面加载完毕后页面呈现.JS操作速度的,还有一种是总体上对页面进行评价分析,下面分别对这些工具进行介绍,如果谁有更好的工具也请一 ...
- Web性能测试工具:Siege安装&使用简介
在Web性能测试工具中,siege是比较热门和常见的,它有安装简单,使用简单,测试报告详细的特点. 并且可以在文本中预定义一系列待测试url模拟,并可设定一定并发量下持续指定时间or测试进行测试. 比 ...
- Web性能测试工具推荐
WEB性能测试工具主要分为三种: 一种是测试页面资源加载速度的: 一种是测试页面加载完毕后页面呈现.JS操作速度的: 一种是总体上对页面进行评价分析. ~~~如果谁有更好的工具也请一起分享下 1. ...
- Web性能测试工具JMeter
做Web方面的黑盒测试,也就是功能测试,基本不需要什么测试工具,都是直接打开浏览器访问,点一点界面就行. 现在流行的移动互联网应用,客户端和服务端的开发是分离的,两者开发进度肯定不一样,可能存在服务端 ...
- 2015第22周一Web性能测试工具及IE扩展区别
在高性能web测试工具推荐http://www.jb51.net/article/23034.htm中发现了dynaTrace 感觉很不错,不但可以检测资源加载瀑布图,而且还能监控页面呈现时间,CPU ...
- Web性能测试工具之ab入门篇
1. ab简介 ab全称Apache Bench,是apache附带的一个小工具,它可以同时模拟多个并发请求,测试apache等Web服务器的最大负载压力. 本文通过一个简单的示例,介绍了使用ab进行 ...
- Apache-Jemeter web性能测试工具使用
Jmeter是一款java开源的性能测试软件. 要使用该工具进行性能测试,首先需要下载该工具到你的电脑,接着配置java开发环境以及Jmeter环境.搭建完成之后,OK,我们就可以进行测试了. 测试第 ...
随机推荐
- 易维巡APP技术支持
亲爱的用户 如果您在使用我们的产品时遇到任何问题,请随时与我们联系,我们将全力全意为您解决! 请发邮件与我们联系,我们将24小时为您服务! 电话:18251927768 邮箱地址:xshm999@16 ...
- OO前三次作业思考(第一次OO——Blog)
OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...
- Kubernetes集群环境搭建全过程
资源准备以及服务器初始化 所有服务器执行一下脚本进行配置信息初始化: #!/bin/bash cd `dirname $0` # 关闭selinux setenforce 0 sed -i '/SEL ...
- 21.6.4 test
\(NOI\) 模拟赛 太离谱了,碳基生物心态极限 \(T1\),字符串滚出OI,最后想了个区间dp,期望得分32pts,实际得分0pts,不知为啥挂了.正解是没学过的SAM. \(T2\),正解博弈 ...
- 实验 1: SDN拓扑实践
(图片和文档是自己写的,因为在CSDN也写了,所以会有自己的水印) 一.实验目的 能够使用源码安装Mininet: 能够使用Mininet的可视化工具生成拓扑: 能够使用Mininet的命令行生成特定 ...
- arm开发板上找不到/dev/i2c-*设备
最近在调试arm与外设iic通讯是,想来个投机取巧,先不写单独的驱动,直接通过iic bus设备是否可以连接到外设,然后发现在板子上找不到"/dev/i2c-n"的设备,标准的系统 ...
- 树形DP 枚举祖宗的例题
这类题目是真的很头疼....其实这类题目的特征也很明显,叶子结点贡献答案时和其所在链的祖宗有关,也就是说要想得知其贡献必须知道他的所有祖宗的贡献,其实处理方法也不是太难,就是在dfs枚举时顺便把祖宗的 ...
- 前端面试手写代码——call、apply、bind
1 call.apply.bind 用法及对比 1.1 Function.prototype 三者都是Function原型上的方法,所有函数都能调用它们 Function.prototype.call ...
- Spring事务不生效问题
事务未生效可能造成严重的数据不一致性问题,因而保证事务生效至关重要.Spring事务是通过Spring aop实现的,所以不生效的本质问题是spring aop没生效,或者说没有代理成功,所以有必要了 ...
- js this指向汇总
this指向 普通函数 window 定时器函数 window 事件函数 事件源 箭头函数 父function中的this,没有就是window 对象函数 对象本身 构造函数 实例化 ...