1. 安装
1.1 下载
[email protected]:~$ wget -c http://soft.kwx.gd/tools/http_load-12mar2006.tar.gz
--2016-05-06 15:08:02-- http://soft.kwx.gd/tools/http_load-12mar2006.tar.gz
正在解析主机 soft.kwx.gd (soft.kwx.gd)... 198.52.124.123
正在连接 soft.kwx.gd (soft.kwx.gd)|198.52.124.123|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度: 17033 (17K) [application/x-gzip]
正在保存至: “http_load-12mar2006.tar.gz”
http_load-12mar2006 100%[=====================>] 16.63K --.-KB/s 用时 0.004s
2016-05-06 15:08:03 (3.61 MB/s) - 已保存 “http_load-12mar2006.tar.gz” [17033/17033])
1.2 解压
解压到/opt/文件夹下:每次使用前,需要先切换到http_load目录下
[email protected]:~$ sudo tar zxvf http_load-12mar2006.tar.gz -C /opt/
http_load-12mar2006/
http_load-12mar2006/Makefile
http_load-12mar2006/README
http_load-12mar2006/http_load.1
http_load-12mar2006/http_load.c
http_load-12mar2006/make_test_files
http_load-12mar2006/port.h
http_load-12mar2006/timers.c
http_load-12mar2006/timers.h
http_load-12mar2006/version.h
http_load-12mar2006/FILES
1.3 install
每次使用前,需要先切换到http_load目录下
[email protected]:~$ cd /opt/
[email protected]:/opt$ ls
apache-maven http_load-12mar2006 navicat zookeeper-3.4.8
apache-maven-3.0.5 idea-IU-139.1117.1 nginx-1.9.0
apache-tomcat-7.0.47 jdk1.7.0_40 qtalk
google kingsoft sublime_text
[email protected]:/opt$ cd http_load-12mar2006/
[email protected]:/opt/http_load-12mar2006$ sudo make;sudo make install
2. 语法格式
参数 | 全称 | 含义 |
-p | -parallel | 并发的用户进程数 |
-f | -fetches | 总计的访问次数 |
-r | -rate | 每秒的访问频率 |
-s | -seconds | 连续的访问时间 |
url.txt | 测试url文件 |
备注:
url.txt 是http_load-12mar2006目录下其中一个文件,在使用前,先在http_load-12mar2006新建一个空白的名为url.txt的文件,可以使用vim命令创建。
3. 测试
以搜狐体育网站为例(http://sports.sohu.com/):
url.txt文件中存储http://sports.sohu.com/网址,文件格式是每一行有一个url,中间不要出现空行否则会报错。
http_load -p 50 -s 60 url.txt
表示50个并发进程,连续访问 http://sports.sohu.com/ 60s时间。
输出结果:
58 fetches, 50 max parallel, 1.04082e+07 bytes, in 60.0001 seconds
179452 mean bytes/connection
0.966665 fetches/sec, 173470 bytes/sec
msecs/connect: 22.0512 mean, 1001.39 max, 4.172 min
msecs/first-response: 518.034 mean, 6430.08 max, 5.774 min
54 bad byte counts
HTTP response codes:
code 200 -- 58
解析:
(1)58 fetches, 50 max parallel, 1.04082e+07 bytes, in 60.0001 seconds
表示在60.0001秒内进行了58请求,最大并发请求进程数为50,总计传输数据为1.04082e+07 bytes
(2)179452 mean bytes/connection
表示每一个连接平均传输的数据量为1.04082e+07 / 58 = 179452
(3)0.966665 fetches/sec, 173470 bytes/sec
表示每秒进行0.966665次请求,每秒传递的数据量为173470
(4)msecs/connect: 22.0512 mean, 1001.39 max, 4.172 min
每次连接的平均响应时间为22.0512 msecs,最大响应时间为 1001.39 msecs,最小响应时间为 4.172 msecs
(5)HTTP response codes: code 200 -- 58
表示打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
4. 说明
一般会关注到的指标是fetches/sec、msecs/connect,它们分别对应的常用性能指标参数QPS-每秒响应用户数和每连接响应用户时间。测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论;