【问题标题】:How to benchmark 2 Redis nodes with YCSB如何使用 YCSB 对 2 个 Redis 节点进行基准测试
【发布时间】:2020-08-07 20:36:34
【问题描述】:

我想用 yahoo 的 YCSB 对 2 个 redis 节点进行基准测试。因为我无法在集群模式下运行这些节点(redis 至少有 6 个节点才能在集群模式下运行它)我创建了一个主节点和一个从节点,使用主节点的 slaveof no oneslaveof <host> <port>为从节点。但是,当我尝试在 ycsb 命令中使用 cluster.mode=true 将密钥从 YCSB 加载到 redis 时,我收到一个错误,因为 YCSB 读取了 redis master 的配置文件并看到集群模式被禁用。请注意,为了运行 slaveof 命令,我们不能处于集群模式。有人知道解决方法吗?

【问题讨论】:

  • 我很困惑。既然redis集群至少需要三个master节点,为什么要设置cluster.mode=true呢?要么关闭它,要么你可以使用更多节点
  • 我想做的是用 2,4,6,... 节点对 redis 进行基准测试。这就是为什么我想要一个由 2 个节点组成的集群。

标签: redis ycsb


【解决方案1】:

在我的理解中,你想对 Redis 的可扩展性进行性能测试。因此,您要将集群标志设置为 true。

很遗憾,目前 YSCB 的 Redis 实现不支持 Redis 的主从模式(YCSB 使用 Jedis 2.9.0 的 Redis 连接客户端。

如果你还想对 Redis 的可扩展性进行性能测试,有两种选择。

第一个是将Jedis版本升级到3.X或更高版本,然后为自己的测试场景重写YCSB(https://github.com/brianfrankcooper/YCSB/blob/master/redis/src/main/java/site/ycsb/db/RedisClient.java)的RedisClient.java。

第二个是将Redis的集群模式和主从模式的case分开。 Redis 集群至少需要 6 个节点。但是,您可以减少 3 个节点。只需设置 6 个节点,然后关闭从节点。不建议用于生产,但足以用于测试。

你可以测试它 3,6,9... 节点。

希望对你有帮助。

【讨论】:

  • 是的,它并没有完全解决我的问题,但它是一个很好的解决方法。恭喜队友!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 2016-12-24
  • 2023-03-13
  • 1970-01-01
相关资源
最近更新 更多