本文目录导读:

针对快速进行 HTTP 压测,这里推荐几种从简单到专业的方案,你可以根据场景选择:
最快速单行命令(适合简单测试)
使用 curl + 循环(Linux/Mac)
# 发送10次请求
for i in $(seq 1 10); do curl -s -o /dev/null -w "%{http_code}\n" https://example.com; done
使用 ab(Apache Bench,最常用)
# 发送1000个请求,并发10个 ab -n 1000 -c 10 https://example.com/
更专业的命令行工具
wrk(性能极高,适合高并发)
# 4个线程,保持100个连接,压测30秒 wrk -t4 -c100 -d30s https://example.com
hey(简单易用,Go 语言编写)
# 发送1000个请求,50并发 hey -n 1000 -c 50 https://example.com
Python 快速脚本
import requests
import concurrent.futures
import time
url = "https://example.com"
total_requests = 100
concurrent = 10
def send_request(i):
start = time.time()
r = requests.get(url)
return i, r.status_code, time.time() - start
with concurrent.futures.ThreadPoolExecutor(max_workers=concurrent) as executor:
futures = [executor.submit(send_request, i) for i in range(total_requests)]
for future in concurrent.futures.as_completed(futures):
i, status, duration = future.result()
print(f"请求 {i}: 状态={status} 耗时={duration:.3f}s")
安装方式
# ab(通常系统自带) sudo apt-get install apache2-utils # Ubuntu brew install httpd # Mac # wrk brew install wrk # Mac sudo apt-get install wrk # Ubuntu # hey brew install hey # Mac go install github.com/rakyll/hey@latest
快速选择指南
| 场景 | 推荐工具 | 理由 |
|---|---|---|
| 快速看一眼响应时间 | curl -w |
无需安装 |
| 简单压力测试 | ab |
安装简单,结果清晰 |
| 高并发压测 | wrk |
性能好,多线程 |
| 需要自定义逻辑 | Python脚本 | 灵活可控 |
| 最快速上手 | hey |
语法简单,一秒上手 |
建议: 初学者直接使用 ab 或 hey 就可以覆盖大部分场景,如果测试生产环境,注意控制并发量,不要压垮服务。
标签: hey HTTP压测
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。