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.