使用web压力测试工具 siege 和 ab 发送带json数据的post请求

首先我们的json字符串直接放在文件postfile中

在我们使用json格式时,注意一定要将headers的Content_type设置为application/json,否则服务器端可能不能正确识别传送的body格式。


siege

经过测试的版本为3.02和3.04

siege POST请求:

尝试1:

siege  -T 'application/json' -c 500 r 1 '172.19.180.166/fcgi-bin/rs/ POST <./postfile'

服务器端接收到body为postfile文件内容,但是content_type依旧是默认值“application/x-www-form-urlencoded”,致使服务器端不能正确处理。

尝试2: 

siege -H 'Content-Type:application/json' -c 500 r 1 '172.19.180.166/fcgi-bin/rs/ POST <./postfile'

情况与1相同。说明不能通过-H和-T来修改content_type

尝试3:

将postfile文件名修改为postfile.json

siege -c 500 r 1 '172.19.180.166/fcgi-bin/rs/ POST <./postfile.json'

content_type被正确设置为application/json,服务器正常处理返回。原来siege只能通过文件的扩展名来确定content type格式

此处参考http://www.joedog.org/siege-faq/


ad

该工具比较好用,没出现什么问题,一条命令搞定:

ab -n 5000 -c 500 -p postfile -T 'application/json'   '172.19.180.166/fcgi-bin/rs/'

测试搞定

很好用的网络压力测试工具 Linuxsiege的安装 unzip filename.zip cd siege-*.*.* ./configure --prefix=/usr/local/siege --mandir=/usr/local/man --with-ssl=/usr/local/ssl mkdir -p /usr/local/siege/etc mkdir -p /usr/local/siege/var make make install 查看配置文件 /usr/local/siege/bin/siege -C 二、siege使用 举例说明: 50个用户(每次并发量)重复100次 共产生 50*100 个请求 /usr/local/siege/bin/siege -c 50 -r 100 www.baidu.com 50个用户 重复100次 发送GET参数 /usr/local/siege/bin/siege -c 50 -r 100 http://www.baidu.com/s?wd=siege&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=4&rsv_sug=2&rsv_sug1=4&rsv_sug4=60 50个用户 重复100次 发送POST参数 (注意引号) /usr/local/siege/bin/siege -c 50 -r 100 "https://www.abc.com/a.php POST name=zhangsan" 50个用户 重复100次 发送POST参数(从文件中读取) /usr/local/siege/bin/siege -c 50 -r 100 "https://www.abc.com/a.php POST < /root/ab_test/post.xml" 另外还有挺多参数 详情请man 或 siege -h siege报表解析,请man查看,暂略(有点累了,不想写了。。。。。)。 Transactions: 10 hits :服务器接收的请求数 Availability: 100.00 % :有效情况的比例 Elapsed time: 1.06 secs : 测试所用的间 Data transferred: 0.04 MB :每个模拟用户的数据传输量 Response time: 0.03 secs :响应每个模拟用户请求的平均间 Transaction rate: 9.43 trans/sec :服务器每秒处理事务的平均数 Throughput: 0.04 MB/sec :服务器每秒跟所有模拟用户的数据传输量 Concurrency: 0.25 :每秒的模拟连接 Successful transactions: 10 :处理成功的事务数(code<400) Failed transactions: 0 : 处理失败的事务数(code>400) Longest transaction: 0.04 :最长的事务处理间 Shortest transaction: 0.02 :最短的事务处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值