warp stat

Test object metadata retrieval performance to measure S3 HEAD operation throughput and latency.

Synopsis

Flags

Command-specific flags

--objects

Default: 10000

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

The object count is rounded to ensure equal distribution across concurrent operations.

Example:

warp stat --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 stat performance since HEAD operations retrieve only metadata. 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 stat --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 stat operations on versioned objects. Use this flag to test metadata retrieval performance with object versioning enabled.

Example:

warp stat --host myaistor.example.com:9000 --versions 5 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--list-existing

Default: false

Use existing objects in the bucket instead of uploading new objects. The default behavior uploads objects before measuring stat performance. Use this flag to test stat speed on pre-existing data without preparation overhead.

Example:

warp stat --host myaistor.example.com:9000 --list-existing --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--list-flat

Default: false

Use non-recursive listing when discovering existing objects. The default behavior uses recursive listing to find objects with prefixes. Use this flag with --list-existing when objects exist in a flat structure without prefixes.

This flag only applies when --list-existing is enabled.

Example:

warp stat --host myaistor.example.com:9000 --list-existing --list-flat --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 stat benchmark operates in two phases unless you use the --list-existing flag.

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 random prefixes to distribute objects across the storage system. When versioning is enabled, the command creates multiple versions of each object.

During the stat phase, the command retrieves object metadata using S3 HEAD operations. The benchmark randomly selects objects from the prepared set for each stat request. HEAD operations retrieve object metadata without downloading content. The benchmark continues stat operations throughout the specified duration.

The command measures stat operation throughput, latency, and error rates. Stat performance depends primarily on metadata operations rather than object size. HEAD operations test the storage system’s metadata retrieval efficiency.

Output

The stat benchmark provides metrics for object metadata retrieval operations.

The output includes stats per second showing how many HEAD operations the system can handle. Operations per second displays the rate of metadata retrieval requests. Latency percentiles show response times at p50, p90, p99, and p99.9 levels for stat operations.

The benchmark reports error rates for failed HEAD operations. Total stat counts show how many metadata retrievals were successfully completed during the test. Metadata retrieval time reveals efficiency of accessing object information without content.

For versioned objects, the output includes version-specific stat performance. Stat operations test metadata access patterns common in file browsing and management applications.

Examples

Basic stat test

Test metadata retrieval performance with default settings:

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

The command uploads 10,000 objects and retrieves their metadata repeatedly.

Large scale stat operations

Test stat performance with many objects:

warp stat --host myaistor.example.com:9000 --objects 100000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This simulates metadata retrieval on large buckets.

High concurrency stat

Test concurrent metadata retrieval operations:

warp stat --host myaistor.example.com:9000 --concurrent 200 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

High concurrency tests how the system handles many simultaneous HEAD requests.

Versioned object stat

Test metadata retrieval on versioned objects:

warp stat --host myaistor.example.com:9000 --versions 10 --objects 10000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Versioned stat operations test metadata access across object versions.

Stat existing objects

Test stat speed on pre-existing bucket contents:

warp stat --host myaistor.example.com:9000 --bucket existing-data --list-existing --noclear --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This measures metadata retrieval performance without preparation overhead.

Low concurrency stat

Test sequential metadata retrieval:

warp stat --host myaistor.example.com:9000 --concurrent 1 --objects 20000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Single-threaded stat testing reveals baseline metadata retrieval performance.