warp fanout
Test object replication performance by creating multiple copies of uploaded objects.
Synopsis
Flags
Command-specific flags
--obj.size
Default: 1MiB
Size of each object created during the benchmark. The object size affects both upload and copy operation performance. Use this flag to test fanout behavior with different object sizes.
Valid formats include numbers or values with KiB, MiB, or GiB suffixes (base 2 binary).
Example:
warp fanout --host myaistor.example.com:9000 --obj.size 10MiB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
--copies
Default: 100
Number of copies to create for each uploaded object. The command creates this many copies per source object to test replication performance. Use this flag to test different fanout ratios.
This flag is hidden in the command help but available for use.
Example:
warp fanout --host myaistor.example.com:9000 --copies 200 --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 fanout benchmark measures object replication and distribution performance.
During the upload phase, the command creates source objects of the specified size. Object generation uses the configured data generator to create test data. The command uploads objects to the target bucket following the configured prefix strategy.
During the fanout phase, the command creates multiple copies of each uploaded object. Each copy operation measures latency and throughput independently. The benchmark continues creating copies throughout the specified duration.
The command measures copy operation throughput, latency, and error rates. Fanout performance depends on the storage system’s replication capabilities. Copy operations typically execute as server-side operations when supported.
Output
The fanout benchmark provides metrics for object replication operations.
The output includes copies per second showing how many object copies the system can create. Latency percentiles show response times at p50, p90, p99, and p99.9 levels for copy operations. Throughput metrics display the rate of copy operations and data transfer.
The benchmark reports error rates for failed copy operations. Total copy counts show how many copies were successfully created during the test. Replication efficiency metrics reveal how effectively the system handles fanout workloads.
Examples
Basic fanout test
Test fanout performance with default settings:
warp fanout --host myaistor.example.com:9000 --access-key ACCESS_KEY --secret-key SECRET_KEY
The command uploads objects and creates 100 copies of each.
High fanout ratio
Test with a higher number of copies per object:
warp fanout --host myaistor.example.com:9000 --copies 500 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
This simulates high fanout scenarios with many copies per source object.
Large object fanout
Test fanout with larger objects:
warp fanout --host myaistor.example.com:9000 --obj.size 100MiB --copies 50 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
Larger objects test the system’s ability to replicate substantial data volumes.
High concurrency fanout
Test concurrent fanout operations:
warp fanout --host myaistor.example.com:9000 --concurrent 50 --copies 200 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
This tests how the system handles simultaneous replication requests.
Small object fanout
Test fanout with smaller objects:
warp fanout --host myaistor.example.com:9000 --obj.size 100KiB --copies 1000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
Small objects test metadata-intensive replication patterns.