Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246051
  • 博文数量: 41
  • 博客积分: 1523
  • 博客等级: 上尉
  • 技术积分: 579
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-05 21:23
文章分类

全部博文(41)

文章存档

2014年(1)

2013年(2)

2012年(1)

2011年(2)

2010年(3)

2009年(1)

2008年(20)

2007年(11)

分类: LINUX

2011-06-16 12:33:22

    今天需要对一个网页做压力测试,首先我想到了 apache 的 ab ,操作简单,使用方便,装了 apache 就有,不用在安装其他软件。
    可是刚开始就碰到了问题,要压力的那个网页需要 post 数据才可以,以前用 ab 不过是静态页,顶多就是个 get 方式加点参数,没玩过 post ,看帮助,发现 ab 支持

    -p postfile     File containing data to POST. Remember also to set -T
    -u putfile      File containing data to PUT. Remember also to set -T
    -T content-type Content-type header for POSTing, eg.
                    'application/x-www-form-urlencoded'
                    Default is 'text/plain'

    直接试用若干次,发现不行,google 后发现要加 Content-type ,之后继续测试,发现其中一个可以,另一个却仍旧不行,检查原因,发现一个用的是 post urlencoded ,另一个是 form-data ~~ ,无奈继续 google (发现中国文章一大抄啊 ~~),怎么都一样呢,你们难道post 都是 form-urlencoded ,就没有一个 form-data 的 ? 看来还是要靠自己解决,通过 查看上传的原始数据对比发现 ab 是可以做 post 的压力测试的,而且 urlencoded 和 form-data 都可以。具体方法如下:

post -- urlencodeder (网上基本都是这个)
ab -v4 -n1 -p post.txt -T 'application/x-www-form-urlencoded'
post.txt 内容
aaa=123
bbb=456

post -- form/multipart form-data
ab -v4 -n1 -p post.txt -T 'multipart/form-data; boundary=---1234abcd'

post.txt 内容
-----1234abcd
Content-Disposition: form-data; name="a"

123
-----1234abcd
Content-Disposition: form-data; name="b"

456
-----1234abcd--

文件上传也同样。
阅读(2585) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~