您的位置:首页 > 理论基础 > 计算机网络

利用http_load测试Web引擎性能(有phalcon和thinkphp对比)

2015-06-29 23:20 645 查看
http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可以测试web服务器的吞吐量与负载。


一、获得http_load

httpd_load的官方站是:http://www.acme.com/software/http_load/,LinuxVPS学习者直接提供了下载地址(文件来自官方)

wget -c http://soft.kwx.gd/tools/http_load-12mar2006.tar.gz[/code] 


二、解压并编译http_load

yum -y install gcc gcc-c++            #安装GCC编辑器
tar xzvf http_load-12mar2006.tar.gz   #解压http_load压缩包
cd http_load-12mar2006                #进入http_load目录
mkdir /usr/local/man                  #创建目录
make && make install                  #编译并安装



三、使用方法


1、每次使用前,需要先切换到http_load目录下

cd http_load-12mar2006


由于我们默认安装在/root(帐号根目录)下,所以在使用前,SSH执行以上命令切换到该目录。


2、了解参数和文件

参数全称含义
-p-parallel并发的用户进程数。
-f-fetches总计的访问次数
-r-rate
含义是每秒的访问频率
-s-seconds连续的访问时间
url 网站连接地址或url文件
其中,“url”是http_load-12mar2006目录下其中一个文件,在使用前,先在http_load-12mar2006新建一个空白的名为url的文件,在Winscp中或使用vi命令新建。

 


然后在“url”里面填入您要测试的地址,如下图:

 


然后保存文件。


3、开始测试

./http_load -p 1021 -s 10 url     #url为刚刚新建的文件


SSH执行以上命令,则向www.kwx.gd并发1021个线程,时间为连续10秒。

 



四、分析结果

41 fetches, 1020 max parallel, 851898 bytes, in 10.0008 seconds
# 一共请求连接41次,最大并发线程1020个,持续10.0008秒内,总传输速率为 851898bytes
20778 mean bytes/connection
#每次请求连接平均数据量(851898÷41)
4.09969 fetches/sec, 85183.3 bytes/sec
#每秒的响应请求连接数为4.09969个,每秒传输的数据为85183.3btyes/毫秒
msecs/connect: 264.607 mean, 269.482 max, 262.187 min
#每次连接平均响应时间:264.607毫秒,最大时间:269.482毫秒,最小时间:262.187毫秒
msecs/first-response: 1949.27 mean, 5394.21 max, 380.501 min
#每次连接平均返回时间:1949.27毫秒,最大时间:5394.21毫秒,最小时间:380.501毫秒
HTTP response codes:
code 200 -- 41
#HTTP返回码:200 ,一共41次。


测试结果中,主要参考fetches/sec、msecs/connect数值,即服务器每秒能够响应的查询次数的数值来衡量性能,当然,单纯数值判断并不准确,还要参考CPU、内存的等消耗综合考虑。

最后附上phalcon和thinkphp测试结果:

root@cy-VirtualBox:/home/work/http_load-12mar2006# http_load -p 1000 -s 10 thinkphp

2184 fetches, 1000 max parallel, 1.39339e+06 bytes, in 10.001 seconds

638 mean bytes/connection

218.379 fetches/sec, 139326 bytes/sec

msecs/connect: 516.42 mean, 7017.04 max, 0.038 min

msecs/first-response: 874.331 mean, 7969.83 max, 48.758 min

HTTP response codes:

  code 200 -- 2184

root@cy-VirtualBox:/home/work/http_load-12mar2006# http_load -p 1000 -s 10 phalcon 

3657 fetches, 1000 max parallel, 1.23607e+06 bytes, in 10.0001 seconds

338 mean bytes/connection

365.696 fetches/sec, 123605 bytes/sec

msecs/connect: 336.172 mean, 7015.8 max, 0.042 min

msecs/first-response: 545.484 mean, 7339.86 max, 5.49 min

HTTP response codes:

  code 200 -- 3657

phalcon:  500并发, 30s持续时间

15348 fetches, 500 max parallel, 5.17884e+06 bytes, in 30 seconds

337.427 mean bytes/connection

511.599 fetches/sec, 172628 bytes/sec

msecs/connect: 183.182 mean, 15032.7 max, 0 min

msecs/first-response: 351.947 mean, 26883 max, 11.506 min

26 bad byte counts

HTTP response codes:

  code 200 -- 15322

thinkphp: 500并发, 30s持续时间

root@cy-VirtualBox:/home/work/http_load-12mar2006# http_load -p 500 -s 30 thinkphp 

8348 fetches, 500 max parallel, 5.32602e+06 bytes, in 30.0001 seconds

638 mean bytes/connection

278.266 fetches/sec, 177534 bytes/sec

msecs/connect: 701.172 mean, 15036.2 max, 0 min

msecs/first-response: 848.036 mean, 27843.6 max, 45.517 min

HTTP response codes:

  code 200 -- 8348
http://www.kwx.gd/CentOSApp/CentOS-http_load.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: