Skip to content

Commit ced63b8

Browse files
Add resharding performance factors section to memory-limit documentation
- Add comprehensive resharding process overview explaining 3-stage process - Document performance characteristics and factors affecting resharding duration - Include flex sharding performance improvements and key length considerations - Add traffic impact analysis during resharding operations - Use proper Hugo note shortcode for atomic operation warning - Align content with Google technical writing style for clarity and consistency This addition provides Redis Enterprise administrators with essential information for planning resharding operations and understanding performance implications.
1 parent 930c993 commit ced63b8

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

content/operate/rs/databases/memory-performance/memory-limit.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,48 @@ Databases should return to their configured memory limits after data is removed
7979

8080
If you observe this behavior, consider [monitoring]({{< relref "/operate/rs/monitoring/" >}}) memory usage and controlling the traffic load on the application side.
8181

82+
## Resharding duration factors
83+
84+
Resharding enables you to increase database capacity by adding shards and utilizing more cluster memory. Understanding resharding duration helps you plan maintenance operations and minimize database risk.
85+
86+
### Resharding process overview
87+
88+
Resharding follows a three-stage process for each new shard:
89+
90+
1. **Shard creation**: Creates a new shard and performs partial synchronization based on assigned hash slots
91+
2. **Key trimming**: Removes keys from the original shard according to new hash slot assignments
92+
3. **Defragmentation**: Executes failovers to optimize new shard performance
93+
94+
When resharding multiple shards (for example, expanding from 4 to 8 shards), this process runs serially for each new shard. The operation completes only after all stages finish for every shard.
95+
96+
{{< note >}}
97+
Resharding is an atomic operation that cannot be interrupted. Database corruption can occur if the process fails or stops unexpectedly. Minimizing resharding time reduces this risk.
98+
{{< /note >}}
99+
100+
Flexible sharding optimizes the key trimming stage, significantly reducing the time required to remove unnecessary keys from original shards.
101+
102+
### Duration characteristics
103+
104+
Resharding duration increases linearly with the number of keys in your database. Several factors affect resharding duration:
105+
106+
### Flex sharding impact
107+
108+
Flex sharding improves resharding duration compared to standard sharding.
109+
110+
### Key length considerations
111+
112+
Key length directly affects resharding duration. Longer keys require more time to process due to increased hash calculation overhead per key.
113+
114+
The decrease in duration provided by flex sharding varies based on key length:
115+
116+
- **Short keys (10 bytes)**: Flex sharding provides up to 50% improvement
117+
- **Long keys (2000 KB)**: Flex sharding provides minimal improvement (approximately 11%)
118+
- **Critical threshold**: Between 50-100 bytes, flex sharding advantages begin to diminish
119+
120+
### Traffic impact during resharding
121+
122+
Network traffic has a measurable but limited effect on resharding duration. Since resharding operations typically don't reach CPU limits, the impact on both resharding time and ongoing traffic remains minimal.
123+
82124
## Memory metrics
83125

84126
The Cluster Manager UI provides metrics that can help you evaluate your memory use.

0 commit comments

Comments
 (0)