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