我们致力于一个Apache知识的分享网站

Home » Apache初级应用 » 使用apachebench进行post压力测试

使用apachebench进行post压力测试


2008-12-29 10:42:20  |   才被看了4,329次  |   要评论?
分类: Apache初级应用  |   发布:   |   来源:Hi!Admin

Tags: ,,,,

apachebench网上的资料很多
但是甚至包括国外的文章以及官方文档
出了help显示的内容之外就没有任何一丁点更详细些的内容了
要使用ab进行post数据测试.从help可以看出我们需要定义两个内容
一个是-p参数.指定需要post的数据
还有一个是-T参数,指定使用的content-type
我在服务器端简单的写了一个脚本.将获取到的post请求输出到文件

<?php
echo $_REQUEST[test];
$file=fopen(/data/www/log.txt,a+);
fwrite($file,date(Y-m-d H:i:s));
fwrite($file,$_REQUEST[test]);
fclose($file);
?>

然后在本地生成post.txt文件
内容为test=abc
使用ab进行测试
ab -n 1 -p post.txt http://192.168.0.2/test.php
发现服务器端接受到了请求,但是没有受到post的数据
使用类型之后.也还是不行
ab -n 1 -p post.txt -T ‘text/html’ http://192.168.0.2/test.php
使用get方式测试
ab -n 1 http://192.168.0.2/test.php?test=abc
服务器端则可以正常工作
和开始说的一样.翻烂了google也没有找到
最后只能用wireshark抓包
最后发现content-type一定要设置成为
application/x-www-form-urlencoded
最后如下测试.才最后通过
ab -n 1 -p post.txt -T ‘application/x-www-form-urlencoded’ http://192.168.0.2/test.php
还有postfile
如果有多条记录
内容可以写成

test1=a&test2=b

类似这样即可
这个也是文档中没有提及的,让我一开始以为postfile的格式有误.
网上有提到过一种格式

test1=a
test2=b

这种是不对的
这样的ab会把整个

a回车test2=b

当作test1这个field传送出去

Apache服务器限制并发连接和下载速度 重大漏洞, 让Apache上传不安全-php.rar

Leave a Reply