RUST-NATIVE HTTP LOAD GENERATION

回放真实流量。
找到系统极限。

rload 是一个兼容 wrk 核心语义的 Rust 压测引擎,支持静态请求、Nginx access-log 和结构化 JSONL 回放。

0.2.2 最新版本 · MIT / Apache-2.0 · Rust 1.96+

rload
$ rload -t2 -c100 -d30s
 --access-log access.log
 --output-format json

Requests/sec: 42,814.20
Average latency: 2.31ms
99%:     8.74ms
Socket errors: connect 0, read 0

● load complete
BUILT FOR THE TRAFFIC YOU ACTUALLY HAVEHTTP/1.1 · HTTPS · TLS · JSONL

01 / 核心能力

从一个URL,
到生产级流量。

先做干净的基准测试,再把真实请求序列带进来。每一步都可复现、可解释、可验证。

01

回放你的日志

将 Nginx common/combined 日志转换成可重复工作负载。顺序、shuffle、seeded random 和时间戳节奏。

--access-log production.log
--replay-timestamps --replay-speed 2
02

塑造流量阶段

用 stages 定义基线、尖峰和恢复速率,或输出稳定 JSON 结果接入 CI 和 GUI。

--replay-stages 10s:100,5s:1000
03

看见完整结果

HDR 延迟分布、状态码、method 摘要、URI 热点、JSON schema 和分类 socket 错误。

04

面对故障仍可继续

时长模式恢复 reset、timeout、拒绝连接和服务重启,同时保留错误统计。

connect · read · write · timeout

02 / 为什么是 RLOAD

兼容 wrk。
回放更多现实。

能力wrk 4.2.0rload 0.2.2
静态 HTTP 压测
HTTPS + TLS 验证
Nginx 日志回放
JSONL body/header
timestamp / stagesLua
JSON 结果输出
Lua/LuaJIT 脚本首期不支持

03 / 开始使用

一条命令,
得到第一个信号。

通过 Homebrew 或 crates.io 安装最新版本,也可以从 GitHub Releases 获取发布包。

# macOS / Linux(Homebrew)
brew install wenhaozhao/rload/rload

# Rust 用户
cargo install rload

# JSON 结果
rload -d30s --output-format json https://api.example.com

# 回放生产流量
rload --access-log ./access.log https://staging.example.com