如何使用 YCSB 对 2 个 Redis 节点进行基准测试

How to benchmark 2 Redis nodes with YCSB

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

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

遗憾的是,目前YSCB的Redis实现不支持Redis的master-slave模式(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集群模式和master-slave模式的大小写。 Redis集群至少需要6个节点。但是,您可以减少 3 个节点。只需设置 6 个节点,然后关闭从节点。不推荐用于生产,但足以用于测试。

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

希望对你有所帮助