背景:网上关于ab get方式的压测太多,而关于post的压测方式基本一笔带过,本篇主要介绍ab post压测及遇到的相关问题。
一个简单的shell脚本:
<span style="font-size:14px;">#!/bin/sh
ab -l -n $1 -c $2 -p data.txt -T 'application/json' "post url" > ./data_result.txt
</span>
描述:
data.txt -- post请求的json参数
data_result.txt --- 存放ab测试的结果
常见的几个问题:
1. -l 参数不支持
解决:升级本地的ab版本;如果不加`-l`参数,之后查看的压测结果可能会有很多失败请求
2. socket: Too many open files
解决:ulimit -a 查看当前可以打开的文件个数;之后,ulimit -n 65535 调整打开的文件数
参考: