Как протестировать 2 узла Redis с помощью YCSB

Я хочу протестировать 2 узла Redis с помощью Yahoo YCSB. Поскольку я не могу запускать эти узлы в режиме кластера (у Redis есть минимум 6 узлов, чтобы запускать его в режиме кластера), я создал главный и подчиненный узлы, используя slaveof no one для главного узла и slaveof <host> <port> для подчиненного узла. . Но когда я пытаюсь загрузить ключи из YCSB в redis с cluster.mode=true в команде ycsb, я получаю сообщение об ошибке, потому что YCSB читает файл конфигурации мастера redis и видит, что режим кластера отключен. Обратите внимание, что для запуска команды slaveof мы не должны находиться в режиме кластера. Кто-нибудь знает обходной путь?


person Giannis    schedule 07.08.2020    source источник
comment
Я в замешательстве. Поскольку для кластера Redis требуется как минимум три главных узла, зачем устанавливать cluster.mode=true? Либо отключите его, либо вы можете использовать больше узлов   -  person AwesomeHunter    schedule 08.08.2020
comment
То, что я пытаюсь сделать, это сравнить Redis с 2,4,6,... узлами. Вот почему я хочу кластер из 2 узлов.   -  person Giannis    schedule 08.08.2020


Ответы (1)


Насколько я понимаю, вы хотите проверить производительность масштабируемости Redis. Итак, вы хотите установить для флага кластера значение true.

К сожалению, текущая реализация Redis для YSCB не поддерживает режим Redis master-slave (YCSB использует Jedis 2.9.0 для клиента подключения Redis).

Если вы все еще хотите протестировать производительность масштабируемости Redis, есть два варианта.

Первый — обновить версию Jedis до 3.X или выше, а затем переписать RedisClient.java из YCSB(https://github.com/brianfrankcooper/YCSB/blob/master/redis/src/main/java/site/ycsb/db/RedisClient.java) для собственного сценария тестирования.

Второй — разделить случай для кластерного режима и режима «ведущий-подчиненный» Redis. Кластеру Redis требуется не менее 6 узлов. но, можно уменьшить 3 узла. Просто настроить 6 узлов, а затем отключить подчиненные узлы. это не рекомендуется для производства, но достаточно для тестов.

Вы можете протестировать 3,6,9... узлы.

Надеюсь, это поможет вам.

person kris.jeong    schedule 10.08.2020
comment
Да, это не полностью решает мою проблему, но это хороший обходной путь. Слава дружище! - person Giannis; 10.08.2020