1 http_load:http://www.oschina.net/p/http_load
命令行输入man http_load 或者 http_load -h可以看到工具的使用方式:
参数说明:
使用方式说明:
http_load -parallel 100 -fetches 10000 urls.txt
#100个并发执行10000次
http_load -parallel 100 -seconds 3600 urls.txt
#100个并发执行1小时
http_load -rate 100 -fetches 10000 urls.txt
#每秒100个请求频率,请求10000次
http_load -rate 100 -seconds 3600 urls.txt
#每秒100个请求频率执行1小时
结果分析:
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
HTTP response codes:
code 200 -- 49
1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
2.5916 mean bytes/connection
说明每一连接平均传输的数据量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求个数为4.89274,每秒传递的数据为28945.5 bytes/sec
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
说明每次连接的平均响应时间是28.8932 msecs(毫秒),最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
6、HTTP response codes: code 200 -- 49
说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:这里,我们一般会关注到的指标是fetches/sec(每秒处理的请求数量)、msecs/connect(每次连接处理的时间)
他们分别对应的常用性能指标参数
Qpt-每秒响应用户数和response time,每次连接响应用户的时间。
测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论
错误信息:byte count wrong
http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出byte count wrong
所以动态页面可以忽略这个错误信息。
使用ps -ef | grep http_load | wc -l可以看出只有一个http_load进程,说明在执行并发的时候并没有产生相应的子进程去执行并发,始终只有一个进程
2 webbench
WebBench是有名的网站压力测试工具,由Lionbridge公司开发,最多可以模拟3万个并发连接去测试网站的负载能力。
Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。
1).下载webbench文件
直接网上下载webbench文件或wget命令下载:
wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz
2).解压要编译的文件
tarzxvf webbench-1.5.tar.gz
3).编译源代码和安装文件
cd webbench-1.5
vim Makefile (自定义安装路径,PREFIX?= /usr/local)
make&& make install
4).webbench-c 500 -t 30 http://www.baidu.com/index.php
参数说明:-c表示并发数,-t表示时间(秒)
测试结果:
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://www.baidu.com/index.php
100 clients, running 60 sec.
Speed=600 pages/min, 592821 bytes/sec.
Requests: 624 susceed, 0 failed.
每秒钟传输数据量:592821 bytes/sec每秒钟相应请求数:600/60= 10 pages/sec
使用ps -ef | grep webbench | wc -l可以看出只有500个webbench进程,说明在执行并发的时候产生了相应的子进程去执行并发
3 ab
ab是apache自带的一款功能强大的测试工具,安装了apache一般就自带了,输入man ab就可以查看到具体的使用方式.
参数众多,一般我们用到的是-n 和-c
例如:
ab -c 1000 -n 100 http://www.baidu.com/index.php
这个表示同时处理1000个请求并运行100次index.php文件
使用ps -ef | grep ab | wc -l可以看出只有1000个webbench进程,说明在执行并发的时候产生了相应的子进程去执行并发