warp delete

Test object deletion performance to measure S3 DELETE operation throughput and latency.

Synopsis

Flags

Command-specific flags

--objects

Default: 25000

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

Example:

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

--obj.size

Default: 1KiB

Size of each object created during the preparation phase. The object size affects upload time but typically has minimal impact on deletion speed. Use this flag when testing storage with specific object size characteristics.

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

Example:

warp delete --host myaistor.example.com:9000 --obj.size 10KiB --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

--batch

Default: 100

Number of DELETE operations per batch request. The command groups deletions into batches for more efficient processing. Use this flag to test different batching strategies and find optimal batch sizes.

Example:

warp delete --host myaistor.example.com:9000 --batch 250 --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 deletion performance. Use this flag to test deletion speed on pre-existing data without preparation overhead.

Example:

warp delete --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 delete --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 delete 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.

During the deletion phase, the command deletes objects in batches using S3 batch delete operations. Each batch contains the number of objects specified by the --batch flag. The benchmark continues deleting objects throughout the specified duration or until all objects are deleted.

The command measures deletion throughput, latency, and error rates. Deletion performance typically depends more on metadata operations than object size. Batch size significantly affects performance by reducing the number of API calls required.

Output

The delete benchmark provides metrics for object deletion operations.

The output includes deletions per second showing how many objects the system can remove. Latency percentiles show response times at p50, p90, p99, and p99.9 levels for batch operations. Throughput metrics display the rate of deletion operations.

The benchmark reports error rates for failed DELETE operations. Total object counts show how many objects were successfully deleted during the test. Batch efficiency metrics reveal how batching affects overall performance.

Examples

Basic deletion test

Test delete performance with default settings:

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

The command uploads 25,000 objects and deletes them in batches of 100.

Large scale deletion

Test deletion performance with a larger object count:

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

This simulates large scale cleanup operations.

Optimize batch size

Test different batch sizes to find optimal performance:

warp delete --host myaistor.example.com:9000 --batch 500 --objects 50000 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

Larger batches reduce API overhead but may have diminishing returns.

Delete existing objects

Test deletion speed on pre-existing bucket contents:

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

This measures deletion performance without preparation overhead.

High concurrency deletion

Test concurrent deletion operations:

warp delete --host myaistor.example.com:9000 --concurrent 50 --batch 50 --access-key YOUR_ACCESS_KEY --secret-key YOUR_SECRET_KEY

This tests how the system handles many simultaneous deletion batches.

Small batch operations

Test deletion with smaller batches:

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

Smaller batches may perform better on systems with batch operation constraints.