Warp Benchmarks

MinIO Warparrow-up-right is a single-binary S3 performance tool for measuring GET, PUT, and mixed workload performance. Use it for quick bucket-wide single-operation throughput numbers when you don't need COSBench's stage machinery or httpbench's per-worker isolation.

For when to pick Warp over COSBench or httpbench, see Choosing a Benchmark Tool. For reference throughput from a 6-node Warp run, see Reference Performance Baselines.

circle-exclamation

Prerequisites

  • Alluxio worker reachable from the warp host on the S3 API port (default 29998).

  • Pre-loaded data for GET tests: use bin/alluxio job load --path /path --submit and verify with bin/alluxio fs check-cached /path. Or create data via warp put first, as shown below.

  • Redirect disabled (alluxio.worker.s3.redirect.enabled=false, the default) — see the warning above.

Installation

# Install via Go
go install github.com/minio/warp@latest

# Or download a binary release from GitHub

Usage

Scenario: PUT Throughput (Write)

circle-exclamation

Scenario: GET Throughput (Read)

Scenario: Multi-Node GET (Distributed Read)

When running warp across multiple nodes, use --syncstart to ensure all nodes begin at the same wall-clock time. Without it, nodes that start earlier will run uncontested for a few seconds, inflating their individual numbers and making aggregate throughput non-comparable across runs.

Each node writes a local .json.zst result file. Merge them for aggregate stats:

Troubleshooting

  • Warp PUT fails or returns InvalidTag — Warp's default chunked SHA-256 payload signing is not supported by Alluxio S3. Add --disable-sha256-payload=true to all warp put commands.

  • Warp GET returns errors or 307 — Warp does not follow HTTP 307 redirects. Ensure alluxio.worker.s3.redirect.enabled=false (the default), or switch to httpbench.

For cross-tool troubleshooting (cache-hit verification, network bottlenecks, kernel tuning), see Performance Tuning and Troubleshooting on the hub page.

See Also

Last updated