Common tests

Most evaluations use these tests to measure storage system capabilities. Each test focuses on a specific aspect of performance.

Choosing the right test

Start with a mixed workload test to get overall system performance, then run specific tests to evaluate individual capabilities.

Test type Use for
Mixed workload performance General performance evaluation, capacity planning
Upload performance Backup systems, data ingestion performance
Download performance Content delivery, data retrieval performance
Metadata operations File browsing, search performance
Deletion performance Lifecycle management, cleanup operations

Mixed workload performance

The mixed test combines uploads, downloads, metadata operations, and deletions. This test most closely simulates real application behavior where operations mix together.

Configure operation distribution to match your application patterns. Most applications perform more reads than writes, so default settings use a read-heavy distribution.

# Typical application workload (read-heavy)
warp mixed --duration 15m --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Custom distribution (write-heavy)
warp mixed --get-distrib 20 --put-distrib 60 --delete-distrib 10 --stat-distrib 10 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# High-performance test
warp mixed --concurrent 50 --duration 30m --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

A properly configured mixed test shows overall system performance that simulate close to real-world conditions. Use this test for capacity planning and application performance evaluation.

For how Warp reports operation counts and data rates, see the throughput section on the reference page.

Upload performance

The PUT test measures how quickly the storage system accepts new objects. Test upload performance for backup systems, data ingestion pipelines, and any workflow that writes data to storage.

Configure object sizes to match your typical data. See the Object sizes documentation for guidance on choosing appropriate sizes.

For precise suffixes and byte mappings use the Object size notation.

# Test small file uploads
warp put --obj.size 10KB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test large file uploads
warp put --obj.size 500MB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test mixed sizes
warp put --obj.size 1MB,10MB,100MB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test with random size distribution
warp put --obj.size 1MB,10MB --obj.randsize --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Expect throughput to scale with object size until you hit network or disk limits. Latency should remain consistent as you increase concurrency until the system saturates.

Download performance

The GET test measures how quickly the storage system serves existing objects. Test download performance for content delivery, data retrieval, and analytics workloads.

The test first uploads generated objects, then measures retrieval performance. --duration determines how long the test runs after completing the upload phase.

# Test small file downloads
warp get --obj.size 100KB --objects 10000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test large file downloads
warp get --obj.size 1GB --objects 100 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test with high concurrency
warp get --obj.size 10MB --concurrent 100 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Use higher concurrency to test maximum throughput capabilities. The concurrency is per Warp client.

Metadata operations

Metadata tests are operations that do not transfer object data. The LIST test measures how quickly you can enumerate objects in a bucket. The STAT test measures how quickly you can check if objects exist and retrieve their metadata.

# Test directory listing
warp list --objects 100000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test metadata retrieval
warp stat --objects 50000 --concurrent 100 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Deletion performance

The DELETE test measures how quickly the storage system removes objects. Test deletion performance for lifecycle management, temporary data workflows, and cleanup operations.

Batch deletion groups multiple delete operations together for efficiency. Use batch mode when removing large numbers of objects.

# Test single object deletion
warp delete --objects 10000 --concurrent 50 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

# Test batch deletion
warp delete --objects 100000 --batch 1000 --concurrent 20 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Deletion performance usually exceeds upload performance because the storage system only needs to update metadata. Batch operations significantly improve efficiency when removing many objects.