[BUG]HDEL Command Performance Degradation After Commit c33c91d
Author: JinzeSiCreated Apr 15, 2025Updated Sep 17, 2026
Describe the bug
I have recently done some performance research on the redis code. Finding a noticeable performance degradation has been observed in the HDEL command after the introduction of commit c33c91d. Benchmark results indicate that the performance of HDEL has worsened
To reproduce
- Use the following command to benchmark the performance of HDEL:
taskset -c 15 memtier_benchmark \
--pipeline 1 \
--command "HDEL test_HGET HGET_HASH_FIELD157 HGET_HASH_FIELD3 HGET_HASH_FIELD55 HGET_HASH_FIELD98 HGET_HASH_FIELD2 erwbvirebre 3id23ifb2 23rb2j4bgfj24b HGET_HASH_FIELD34" \
--test-time 30 \
-c 1 \
-t 1
- Compare the benchmark results before and after applying commit c33c91d: before
ALL STATS
===============================================
Type Ops/sec Latency KB/sec
-----------------------------------------------
Hdels 52415.92 0.01800 11824.29
Totals 52415.92 0.01800 11824.29
after
ALL STATS
===============================================
Type Ops/sec Latency KB/sec
-----------------------------------------------
Hdels 50008.47 0.01900 11281.21
Totals 50008.47 0.01900 11281.21
Steps to reproduce the behavior and/or a minimal code sample. just use memtier_benchmark
Expected behavior
c33c91d is used to support HSET+expire in one command. So it should not make HDEL performance degrade
Additional information
This is the script we use to prepare the [data]
Source: redis/redis