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,我们就可以进行测试了. 测试第 ...
随机推荐
- RSA加密——前端JSEncrypt
RSA加密--前端JSEncrypt 介绍 JSEncrypt是一个RSA加密库,在没有SSL加密传输通道支持https协议的情况下,该库可以在http传输重要信息如时,保证数据的安全性.我们小组 ...
- QEvent
QEvent类是所有事件类的基类,每一个对象都包含事件参数.Qt的主事件循环(QCoreApplication::exec())从事件队列中接收本地窗口系统的事件,并将它们翻译成QEvent,将这些事 ...
- MOSFET管驱动电路的设计
https://wenku.baidu.com/view/ae727da5caaedd3382c4d3b9.html?mark_pay_doc=2&mark_rec_page=1&ma ...
- ACM 数据读写/对拍
freopen()函数在ACM中的使用 - cfzjxz的专栏 - 博客频道 - CSDN.NET 在做acm题目的过程中,我们需要在本地机器上调试.调试过程中,如果输入数据少还可以接受,但如果输入数 ...
- hdu 1058 Humble Numbers(构造?枚举?)
题意: 一个数的质因子如果只是2,3,5,7中的若干个.则这个数叫做humble number. 例如:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 1 ...
- Swift-技巧(一)缩放并填充图片
摘要 直接操作图片来实现它的缩放或者填充多余空间,首选 UIGraphicsBeginImageContext 函数来实现,它就相当于一个画布,你甚至可以用它来涂鸦. 最近有一个需求,就是将图片先等比 ...
- mysql数据库导入导出文件sql文件
window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...
- linux堡垒机下定位日志文件内容
查找关键词grep 命令: grep '关键字' 文件 --color 功能:搜素文件内容 语法: grep [-iv] 关键字 文件 -i 不区分大小写 -v 忽略指定字符串 -n 显示行号 -C ...
- 一文了解cookie
@ 目录 什么是Cookie? Cookie 的作用 Cookie原理 Cookie的分类 会话 Cookies 永久性 Cookies Cookie 的属性 name value Domain Pa ...
- webpack 打包样式资源
webpack 打包样式资源 webpack.config.js配置文件内容为: // 用来拼接绝对路径的方法 const {resolve} = require('path') module.exp ...