前言

  • 记录常用的 http 压测工具

Jmeter

ab

hey

  • GitHub 地址 https://github.com/rakyll/hey
  • 一个由 Google 工程师 Martin Heinz(rakyll)使用 Go 语言开发的HTTP压力测试工具,主要用于对 Web 服务进行压力测试,可以作为 ApacheBench (ab) 的替代品。
  • 注意

    curl 的 url 参数可以不放在最后
    hey 的 url 参数必须放在最后
    hey 只支持短参数
  • curlhey 参数对应

    curl hey
    -H   -H
    -d   -d
    -X   -m
  • 发送 GET 请求

    # curl
    curl https://www.qq.com/
    # hey 10 个并发,总共 100 个请求
    hey -c 10 -n 100 -m GET https://www.qq.com/
  • 发送 POST 请求

    # curl
    curl -H "Content-Type:application/json" \
       -d '{"key":"value"}' \
       -X POST "https://www.httpbin.org/post"
    # hey 1 个并发,总共 1 个请求
    hey -c 1 -n 1 \
      -H "Content-Type:application/json" \
      -d '{"key":"value"}' \
      -m POST "https://www.httpbin.org/post"

oha(推荐)

  • GitHub 地址 https://github.com/hatoo/oha
  • hey 启发用 rust 编写的 TUI 压测工具
  • 发送 GET 请求

    # curl
    curl https://www.qq.com/
    # hey 10 个并发,总共 1000 个请求
    oha -c 10 -n 1000 -m GET https://www.qq.com/

locust

本文出自 qbit snap

qbit
268 声望279 粉丝