Run I/O using Warp

Deploy MinIO Warp for Object Storage IO Testing

Version
Audience
anonymous
Part Number
MK-25VSP1OBQ008-00
ft:lastEdition
2026-07-01

Before running workloads, review the following key terms:

Resource Description
Host / Endpoint The object storage server being tested.

http://minio-server

Bucket S3 bucket used for benchmarking. Warp does not create buckets; they must be created in advance. To create buckets and generate access and secret keys, you must be a member of the S3 bucket management group.
Object size Size of objects (for example, 1MiB, 512KiB)
Object count Number of objects to read or write (default: 2,500)
Duration Total workload runtime (for example, 30s, 5m, 1h)
Concurrency Number of parallel I/O operations or threads
Operations PUT, GET, DELETE, or MIXED (a combination of PUT and GET)
Client Network interfaces through which I/O operations are run.
  • Can be a single IP or multiple IPs (comma-separated).
  • Supports multi-host I/O run.
  • If not specified, Warp uses the available interface.

Note: When running Warp across multiple hosts, verify that password-less SSH login is configured on all worker hosts from the master host (where the Warp command is triggered).

After a workload is triggered, Warp may take a short time to prepare before the workload run begins.

During the run, progress and elapsed time are displayed in the terminal.

Warp supports distributed workload generation across multiple servers and network interfaces.

Bucket owners generate their own S3 credentials through the Storage Manager app. The credentials are created based on the authenticated session of the bucket owner making the request. An administrator cannot generate S3 credentials on behalf of another user.

When you generate new S3 credentials, any previously created keys are invalidated. The keys are only visible during generation, so if they are lost, you must create new ones for the user.

Example workloads:

PUT Workload (Write Objects)

Use this workload to evaluate write throughput and latency.

./warp put \
  --duration=10m \
  --host=s3_endpoint \
  --access-key=access_key \
  --secret-key=secret_key \
  --bucket=test \
  --noclear \
  --obj.size=64M \
  --region=us-east-1 \
  --tls \
  --insecure \
  --concurrent=112

GET Workload (Read Objects)

Use this workload to measure read performance.

./warp get \
  --duration=2m \
  --host=s3_endpoint \
  --access-key=access_key \
  --secret-key=secret_key \
  --bucket=bucket1 \
  --noclear \
  --obj.size=4M \
  --region=us-east-1 \
  --tls \
  --insecure \
  --concurrent=112

MIXED Workload (Read and Write Objects)

Use this workload to simulate real-world scenarios with both reads and writes.

./warp mixed \
  --duration=2m \
  --host=s3.us-east-1.vsp1o.vspoc.sea.gpsecontent.local \
  --access-key=access_key \
  --secret-key=secret_key \
  --bucket=bucket1 \
  --noclear \
  --obj.size=4M \
  --region=us-east-1 \
  --tls \
  --insecure \
  --concurrent=112 \
  --put-distrib=50 \
  --get-distrib=50 \
  --stat-distrib=0 \
  --delete-distrib=0

Multi-Host / Multi-Interface Workload

Use this configuration to generate workloads across multiple hosts and network interfaces for large-scale performance testing.

Example scenario:
  • Two servers used for workload generation
  • Each server has two network interfaces
  • All interfaces participate in generating concurrent I/O operations
./warp mixed \
  --duration=2m \
  --host=s3.us-east-1.vsp1o.vspoc.sea.gpsecontent.local \
  --access-key=access_key \
  --secret-key=secret_key \
  --bucket=bucket1 \
  --noclear \
  --obj.size=4M \
  --region=us-east-1 \
  --tls \
  --insecure \
  --concurrent=112 \
  --warp-client=server1_Interface1,server1_Interface2,server2_Interface1,server2_Interface2 \
  --put-distrib=50 \
  --get-distrib=50 \
  --stat-distrib=0 \
  --delete-distrib=0

Additional considerations

When running PUT, GET, or MIXED workloads across multiple hosts or interfaces, consider the following:
  • Multi-host runs eliminate the need to manually log in to each server to trigger workloads, reducing operational effort and startup delays.
  • Warp generates a single consolidated result file for multi-host runs, making performance analysis more efficient.
  • For MIXED I/O operations with high concurrency levels (≥100), run the workload for at least 10 minutes to ensure accurate operation distribution and reliable performance metrics.