命令行压测工具实践

ab (Apache Benchmark)

安装ab

1
2
3
4
# 对于Ubuntu和Debian-based的发行版
apt install apache2-utils
# 对于CentOS/RHEL
dnf install httpd-tools

使用ab

  • 基于并发数模式的压测
    1
    2
    # 并发数10的情况下压测1000个请求(-T设置Content-Type,-p设置请求的body数据)
    ab -n 1000 -c 10 -T "application/json" -p abdata.json http://localhost:8100/v2/text/review

ali

安装ali

1
docker pull nakabonne/ali

使用ali

  • 基于并发数模式的压测

    1
    2
    # 并发数10的情况下压测10秒(-w初始workers数,-W最大workers数,--rate=0尽可能快发送请求)
    docker run --rm -it nakabonne/ali ali --method=POST --body='{"texts": [{"text":"hello"}]}' --duration=10s --rate=0 -w 10 -W 10 http://localhost:8100/v2/text/review
  • 基于QPS模式的压测

    1
    2
    # 模拟每秒50个请求压测30秒(-w默认10,-W不限制增长,--rate=50限制每秒发送50个请求)
    docker run --rm -it nakabonne/ali ali --method=POST --body='{"texts": [{"text":"hello"}]}' --duration=30s --rate=50 http://localhost:8100/v2/text/review

ali压测示例

参考资料