warp list
Test object listing performance to measure S3 LIST operation throughput and latency.
Synopsis
Flags
Command-specific flags
--objects
Default: 10000
Number of objects to upload before starting the listing benchmark. The command creates this many objects during the preparation phase. Use this flag to test listing performance with different object counts.
The object count is rounded up to ensure equal distribution across concurrent operations.
Example:
warp list --host myaistor.example.com:9000 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
--obj.size
Default: 1KB
Size of each object created during the preparation phase. Object size has minimal impact on listing performance but affects preparation time. Use this flag when testing storage with specific object size characteristics.
Valid formats include numbers or values with KB, MB, or GB suffixes (base 2 binary).
Example:
warp list --host myaistor.example.com:9000 --obj.size 10KB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
--versions
Default: 1
Number of versions to create for each object. When set to more than 1, the benchmark tests versioned object listing. Use this flag to test listing performance with object versioning enabled.
Example:
warp list --host myaistor.example.com:9000 --versions 5 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
--metadata
Default: false
Enable extended MinIO ListObjects with metadata retrieval. The default behavior uses the standard ListObjectsV2 API. Use this flag to test listing performance when retrieving object metadata.
This feature is specific to MinIO servers.
Example:
warp list --host myaistor.example.com:9000 --metadata --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
--max-keys
Default: 100
Number of keys requested per list request for pagination. The command uses this value to control list operation batch sizes. Use this flag to test different pagination strategies.
Valid values range from 1 to 5000.
Example:
warp list --host myaistor.example.com:9000 --max-keys 1000 --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 list 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 ensure consistent test data exists. Object names use prefixes to create a realistic namespace structure for listing. When versioning is enabled, the command creates multiple versions of each object.
During the listing phase, the command performs S3 LIST operations repeatedly. The benchmark uses the configured max-keys value to control pagination behavior. Each list operation retrieves object information following the S3 ListObjectsV2 API. When metadata is enabled, the command uses MinIO’s extended listing API to retrieve metadata.
The command measures listing throughput, latency, and error rates. Listing performance depends on object count, prefix structure, and pagination settings. Larger max-keys values reduce API calls but may increase response times.
Output
The list benchmark provides metrics for object listing operations.
The output includes lists per second showing how many list operations the system can handle. Objects listed per second displays the rate of object information retrieval. Latency percentiles show response times at p50, p90, p99, and p99.9 levels for list operations.
The benchmark reports pagination statistics showing how many pages were processed. Error rates display counts and percentages of failed LIST operations. Total object counts show how many objects were listed during the test.
For versioned listings, the output includes version-specific listing performance. Metadata-enabled listings show performance impact of retrieving extended object information.
Examples
Basic listing test
Test listing performance with default settings:
warp list --host myaistor.example.com:9000 --access-key ACCESS_KEY --secret-key SECRET_KEY
The command uploads 10,000 objects and lists them repeatedly with 100 keys per page.
Large scale listing
Test listing performance with many objects:
warp list --host myaistor.example.com:9000 --objects 100000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
This simulates listing operations on large buckets.
Large page size testing
Test with larger pagination sizes:
warp list --host myaistor.example.com:9000 --max-keys 1000 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
Larger page sizes reduce the number of API calls required.
Small page size testing
Test with smaller pagination sizes:
warp list --host myaistor.example.com:9000 --max-keys 10 --objects 10000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
Smaller page sizes test pagination overhead and incremental listing.
Versioned listing
Test listing performance with versioned objects:
warp list --host myaistor.example.com:9000 --versions 10 --objects 5000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
Versioned listings test retrieval of version information for objects.
Metadata-enabled listing
Test MinIO extended listing with metadata:
warp list --host myaistor.example.com:9000 --metadata --objects 20000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
Metadata listings test the performance impact of retrieving extended object information.
High concurrency listing
Test concurrent listing operations:
warp list --host myaistor.example.com:9000 --concurrent 50 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY
This tests how the system handles many simultaneous list requests.