You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用redis-benchmark工具填充Redis集群内存以测试自动扩缩容

针对AWS ElastiCache集群模式Redis填充6GB内存的实操方案

绝大多数redis-benchmark操作集群失败都是因为没有开启集群支持参数,或是键生成规则不合理、单条数据尺寸设置过小导致总写入量达不到目标,可按照以下步骤操作:

一、redis-benchmark 正确执行命令

直接使用以下适配集群模式的写入命令,可精准控制总写入量到6GB左右:

redis-benchmark -h <ElastiCache集群配置端点> -p 6379 --cluster -t set -d 1024 -r 10000000 -n 6291456 -c 32 --threads 4

参数说明:

  • --cluster:开启集群模式支持,自动处理MOVED重定向
  • -t set:仅执行SET写入操作,不执行其他测试命令
  • -d 1024:每个写入的值大小为1KB
  • -r 10000000:从1000万个随机键中选择写入,避免重复覆盖同一键导致内存不上涨
  • -n 6291456:总写入请求数,按单条键值对约1KB计算总写入量约为6GB,你可以根据实际键的大小微调该值
  • -c 32:并发32个客户端连接,提升写入速度
  • --threads 4:启用4线程执行,适配多数客户端机器配置

如果你的集群开启了TLS加密或者身份验证,需要在命令中补充--tls、-a <访问密码>对应参数。

二、备选写入方案

如果redis-benchmark不符合你的使用习惯,可以使用shell脚本批量写入随机键值对:

# 循环写入600万条1KB左右的随机键值对,总占用约6GB
for i in {1..6000000}; do 
  redis-cli -h <ElastiCache集群配置端点> -p 6379 -c SET "test_key_${RANDOM}_${i}" "$(head -c 1024 /dev/urandom | base64)"
done

三、ElastiCache专属注意事项

  • 必须使用集群模式的连接参数(redis-cli加-c,redis-benchmark加--cluster),否则只会写入单个分片,无法利用整个集群的存储空间,还可能触发MOVED错误
  • 写入前先确认集群的maxmemory-policy配置,如果是allkeys-lru之类的淘汰策略,写入量超过阈值后会自动淘汰旧键,导致内存上不去,需要临时调整为noeviction,测试完成后改回原有配置
  • 写入过程中可以通过CloudWatch的FreeableMemory指标或者在节点上执行info memory命令实时查看内存使用率,调整写入量到目标阈值

内容的提问来源于stack exchange,提问作者Cythrex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:54:11