## 简单例子 ###########
ab -n 10000 -c 100 -k -H 'apikey: zPRbr13mXe' http://10.1.1.120/gnapi/open/system/testredis
-c 并发数
-n 测试总次数 (与 -t 哪个先到就停止 )
-t 测试时长 (与 -n 哪个先到就停止 )
-s 接口超时时间
-v keeplive
## 测试时间 ###########
# 运行 -t 60 秒的测试
ab -t 60 http://example.com/
# -t 和 -n 一起使用时,以先达到的限制为准
ab -t 30 -n 1000 http://example.com/ # 30秒或1000请求,以先到为准
## 超时时间 ###########
# 设置请求超时为 -s 30 秒, 默认是 30 秒
ab -s 30 http://example.com/
# 常用于测试慢接口
ab -s 60 -c 10 http://example.com/slow-api
# 对于普通 API 测试,建议设置 3-5 秒
ab -s 5 -c 100 -n 1000 http://example.com/api
# 对于上传/下载等耗时操作,可以设置更长
ab -s 60 -c 10 -n 100 http://example.com/upload
# 对于快速接口测试,可以设置更短
ab -s 2 -c 100 -n 1000 http://example.com/quick-api
## 工作日志 ###########
# 看日志,使用 -v 4 运行 ab 测试
ab -v 4 -n 100 -c 10 http://example.com/
-v 1 # 显示警告信息
-v 2 # 显示处理信息
-v 3 # 显示每个请求的头信息
-v 4 # 显示所有调试信息,包括请求和响应的详细信息
## 工作并发数 ###########
默认只支持 1024 的并发,可以使用 ulimt -n 65535 修改并发数
# 查看所有限制
ulimit -a
# 查看特定限制
ulimit -n # 查看打开文件描述符的最大数量
ulimit -u # 查看用户最大进程数
ulimit -m # 查看最大内存大小
ulimit -v # 查看虚拟内存限制
# 修改最大文件打开数
ulimit -n 65535
# 修改最大进程数
ulimit -u 65535
永久修改
需要编辑 /etc/security/limits.conf 文件:
limits.conf
重要参数说明
soft:警告限制,可以被用户增加到 hard 限制
hard:硬限制,用户不能超过这个限制
nofile:打开文件描述符的最大数量
nproc:用户可以创建的进程数
*:表示对所有用户生效