简介
- http_load是基于linux、unix平台的一种性能测工具
- 它以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能
- 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死
- 还可以测试HTTPS类的网站请求
总结特点以及缺点
特点:
- 基于命令行,简单、易于上手
- 小巧轻便,解压缩后既然还不到100kb
- 这款工具是开源,免费的
缺点:
- 仅适用于web页面的性能测试,不适用于访问数据库
- 测试结果分析有限
- 平台依赖Linux(没有Windows)
除了"http_load"Web压力测试工具以外还有比较厉害的 webbench、ab、Siege 等Web测试工具
下载http_load
- http_load 主页链接:http://www.acme.com/software/http_load/
- 进入http_load主页,点击Fetch the software.下载完成过后,通过共享工具上传至Linux
- 直接使用Linux Bash 命令下载
1 [[email protected] ~]# cd /usr/local/src2 [[email protected] src]# wget http://www.acme.com/software/http_load/http_load-14aug2014.tar.gz
安装
1 [[email protected] src]# tar zxvf http_load-14aug2014.tar.gz //解压当前文件 2 [[email protected]x src]# cd http_load-14aug2014 //进入解压后的目录 3 [[email protected] http_load-14aug2014]# make //执行make,执行完make,会在当前目录生成一个http_load二进制文件。 4 [[email protected] http_load-14aug2014]# ll 5 total 124 6 -r--r--r--. 1 1544 80 97 Jul 15 2001 FILES 7 -rwxr-xr-x. 1 root root 24400 Aug 22 10:49 http_load 8 -r--r--r--. 1 1544 80 5414 May 20 2005 http_load.1 9 -r--r--r--. 1 1544 80 47394 Aug 14 2014 http_load.c10 -rw-r--r--. 1 1544 80 1682 Aug 11 2014 Makefile11 -r-xr-xr-x. 1 1544 80 1178 Sep 13 2000 make_test_files12 -r--r--r--. 1 1544 80 2397 Aug 2 2014 port.h13 -r--r--r--. 1 1544 80 1035 Mar 12 2006 README14 -r--r--r--. 1 1544 80 7362 Jul 9 2014 timers.c15 -r--r--r--. 1 1544 80 3832 Jul 9 2014 timers.h16 -rw-r--r--. 1 root root 4760 Aug 22 10:49 timers.o17 -r--r--r--. 1 1544 80 163 Aug 13 2014 version.h
http_load的使用方法
1 [[email protected] http_load-14aug2014]# http_load --help2 usage: http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]3 -parallel N | -rate N [-jitter]4 -fetches N | -seconds N5 url_file6 One start specifier, either -parallel or -rate, is required.7 One end specifier, either -fetches or -seconds, is required.
主要参数说明:
- -parallel 简写-p :含义是并发的用户进程数
- -rate 简写-r :含义是每秒的访问频率
- -fetches 简写-f :含义是总计的访问次数
- -seconds简写-s :含义是总计的访问时间
- 只要使用http_load命令,-parallel或者-rate必须填一个
- 只要使用http_load命令,-fetche或者-seconds必须填一个
- url_file表示你的url文件路径,url文件是一个文本文件,里面填写你需要压力测试的网址,可以是一个也可以是多个
1 http://www.cnblogs.com/vforbox/p/4740517.html2 http://www.cnblogs.com/vforbox/p/4754618.html3 http://www.cnblogs.com/vforbox/p/4754405.html
示例分析
- 下面以笔者的一个小项目来讲解,url.txt中即存放其项目地址
1 [[email protected] http_load-14aug2014]# ./http_load -p 30 -s 60 url.txt //表示执行了一个持续时间为60秒的测试,用户进程数为302 1044 fetches, 30 max parallel, 1.88674e+07 bytes, in 60 seconds3 18072.2 mean bytes/connection4 17.4 fetches/sec, 314457 bytes/sec5 msecs/connect: 66.3438 mean, 1066.13 max, 45.677 min6 msecs/first-response: 231.517 mean, 9210.48 max, 69.683 min7 HTTP response codes:8 code 200 -- 1044
- 1044个请求,最大并发数30,总计传输的数据为188674000 bytes,运行时间为60秒,关注点:总请求数、最大并发进程数
- 每一连接平均传输的数据量,等于188674000bytes/1044请求数=180722
- 每秒响应的请求数为18072.2,每秒传递的数据量为...,关注点:每秒响应的请求数(对应LoadRunner中的每秒响应用户数)
- 每次连接的平均响应时间是66.3438msecs,最大响应时间1066.13 msecs,最小响应时间15.677 msecs,关注点:每个连接的平均响应时间(对应quicktestProfessional中的response time,每连接响应用户时间 )
- ...待补充
- 表示打开响应页面的HTML状态码,200表示响应成功;如果403的类型过多,那可能要注意是否系统遇到了瓶颈
1 [[email protected] http_load-14aug2014]# http_load -parallel 20 -s 10 url.txt //同时使用20个用户进程,随机访问url.txt中的网址列表,总共访问10秒2 [[email protected] http_load-14aug2014]# http_load -rate 60 -f 3000 url.txt //每秒请求60次,总共请求3000次停止
原文:http://www.cnblogs.com/vforbox/p/4754618.html
时间: 2024-10-01 11:06:21