warp mixed

Test mixed workload performance combining GET, PUT, DELETE, and STAT operations in configurable ratios.

Synopsis

Flags

Command-specific flags

--objects

Default: 2500

Number of objects to upload before starting the mixed operations benchmark. The command creates this many objects during the preparation phase. Use this flag to test mixed workload performance with different object pools.

Example:

warp mixed --host myaistor.example.com:9000 --objects 5000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--obj.size

Default: 10MiB

Size of each object created during the benchmark. The object size affects performance characteristics of GET and PUT operations. Use this flag to test mixed workloads with different object sizes.

Valid formats include numbers or values with KiB, MiB, or GiB suffixes (base 2 binary).

Example:

warp mixed --host myaistor.example.com:9000 --obj.size 100MiB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--get-distrib

Default: 45

Percentage of operations that should be GET requests. The distribution value determines how frequently GET operations occur in the mix. Use this flag to adjust workload characteristics for read-heavy scenarios.

Example:

warp mixed --host myaistor.example.com:9000 --get-distrib 70 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--stat-distrib

Default: 30

Percentage of operations that should be STAT requests. The distribution value determines how frequently STAT operations occur in the mix. Use this flag to adjust workload characteristics for metadata-heavy scenarios.

Example:

warp mixed --host myaistor.example.com:9000 --stat-distrib 20 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--put-distrib

Default: 15

Percentage of operations that should be PUT requests. The distribution value determines how frequently PUT operations occur in the mix. Use this flag to adjust workload characteristics for write-heavy scenarios.

Example:

warp mixed --host myaistor.example.com:9000 --put-distrib 25 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--delete-distrib

Default: 10

Percentage of operations that should be DELETE requests. The distribution value determines how frequently DELETE operations occur in the mix. Use this flag to adjust workload characteristics for deletion-heavy scenarios.

Delete Distribution Limit
The delete distribution must be equal to or less than the put distribution to maintain object pool stability. Setting delete distribution higher than put distribution will deplete the object pool and cause benchmark failures.

Example:

warp mixed --host myaistor.example.com:9000 --delete-distrib 15 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Shared flags

This command supports all common flags including connection, performance, object, upload, benchmark control, analysis, and monitoring flags.

Benchmark behavior

The mixed benchmark operates in two phases.

During the preparation phase, the command uploads the specified number of objects to the target bucket. The upload phase creates objects with the specified size to populate the initial object pool. Object names use random prefixes to distribute objects across the storage system.

During the mixed operations phase, the command executes operations according to the configured distribution. The benchmark randomly selects operation types based on the distribution percentages. GET operations retrieve existing objects from the pool. STAT operations retrieve metadata for existing objects. PUT operations create new objects and add them to the pool. DELETE operations remove objects from the pool.

The command measures throughput, latency, and error rates for each operation type independently. Mixed workload performance reveals how the storage system handles concurrent diverse operations. The distribution ratios simulate realistic application access patterns.

Output

The mixed benchmark provides comprehensive metrics for all operation types.

The output includes separate statistics for each operation type. Operations per second displays the rate for GET, PUT, STAT, and DELETE operations individually. Throughput metrics show MB/s for GET and PUT operations. Latency percentiles show response times at p50, p90, p99, and p99.9 levels for each operation type.

The benchmark reports first-byte latency for GET operations. Error rates display counts and percentages of failed operations by type. Total operation counts show how many of each operation completed during the test.

The combined output reveals performance interactions between different operation types. Operation distribution statistics confirm the actual execution ratios achieved.

Examples

Basic mixed workload

Test mixed operations with default distribution:

warp mixed --host myaistor.example.com:9000 --access-key ACCESS_KEY --secret-key SECRET_KEY

The command executes 45% GET, 30% STAT, 15% PUT, and 10% DELETE operations.

Read-heavy workload

Test a read-heavy workload pattern:

warp mixed --host myaistor.example.com:9000 --get-distrib 70 --stat-distrib 20 --put-distrib 5 --delete-distrib 5 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This simulates applications with predominantly read operations.

Write-heavy workload

Test a write-heavy workload pattern:

warp mixed --host myaistor.example.com:9000 --get-distrib 20 --stat-distrib 10 --put-distrib 50 --delete-distrib 20 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This simulates applications with significant write activity.

Balanced workload

Test an evenly distributed workload:

warp mixed --host myaistor.example.com:9000 --get-distrib 25 --stat-distrib 25 --put-distrib 25 --delete-distrib 25 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This tests system performance under balanced operation types.

Large object mixed workload

Test mixed operations with larger objects:

warp mixed --host myaistor.example.com:9000 --obj.size 100MiB --objects 1000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Larger objects test bandwidth-intensive mixed workloads.

High concurrency mixed operations

Test concurrent mixed operations:

warp mixed --host myaistor.example.com:9000 --concurrent 100 --objects 10000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This tests how the system handles many simultaneous diverse operations.

Extended duration testing

Run a longer mixed workload test:

warp mixed --host myaistor.example.com:9000 --duration 30m --objects 5000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Extended tests reveal performance stability over time with varied operations.