ab 压力测试工具例子
## 简单例子 ###########
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:用户可以创建的进程数
*:表示对所有用户生效
上一篇
下一篇