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,我们就可以进行测试了. 测试第 ...
随机推荐
- 设计的MOS管三极管简单开关电路驱动能力不够3
16楼说得非常明白,补充一点,R3如果不要,会有下冲产生.4 Q: Z/ G G1 s8 Z- } 能解释下为什么会产生过冲吗?9 i, P* D* X) u. t/ b ^ 让我们这些菜鸟学习学 ...
- Python触发异常
我们可以使用raise语句自己触发异常,raise语法格式如下: raise [Exception [, args [, traceback]]] 语句中 Exception 是异常的类型(例如,Na ...
- ASP.NET WEBAPI 跨域请求 405错误
浏览器报错 本来没有报这个错,当我在ajax中添加了请求头信息时报错 405的报错大概就是后端程序没有允许此次请求,要解决这个问题,就是在后端程序中允许请求通过.具体操作就是修改web.config配 ...
- Python NameError:name ‘xrange’ is not defined
在python3 中会出这个问题,而xrange( )函数时在python 2.x中的一个函数,在Python 3中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange ...
- Shooting Bricks题解
题目传送门 以后我绝对不会一直磕着一道题磕几个小时了...感觉还是自己节奏出了问题,不知为啥感觉有点小慌... 算了,其实再回头仔细看一下这个题dp的思路还是比较好想出来的,打代码之前一定要做好足够的 ...
- 设计模式学习-使用go实现建造者模式
建造者模式 定义 适用范围 与工厂模式的区别 优点 缺点 参考 建造者模式 定义 Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式. 建造者模式(Builder Patt ...
- k8s入坑之路(13)kubernetes重要资源(namespace隔离 resources资源管理 label)
Namespace --- 集群的共享与隔离 语言中namespace概念 namespace核心作用隔离 以上是隔离的代码.namespace隔离的是: 1.资源对象的隔离:Service.Depl ...
- OpenXml SDK学习笔记(4):设置文件级别的样式
观察上一段日记最后的代码: 这里的样式基本可以理解为行内CSS.那么既然有行内的样式,就肯定有外部的样式.那这部分就对应笔记1里说的style.xml文件.这个文件对应的是Document.MainD ...
- [python]RobotFramework自定义库实现UI自动化
1.安装教程 环境搭建不多说,网上资料一大堆,可参考https://www.cnblogs.com/puresoul/p/3854963.html,写的比较详细,值得推荐.目前python3是不支持r ...
- 第二课 Dubbo设计的架构设计
总体架构 Dubbo的总体架构,如图所示: Dubbo框架设计一共划分了10个层,而最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层.图中左边淡蓝背景的为 ...