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.