Nie wiem, czy wymyśliłeś ten problem, czy nie.
Ale w zasadzie, jeśli chcesz używać YCSB w klastrze Redis, musisz zaimplementować klienta klastra Redis dla YCSB. Jest bardzo podobny do klienta, który YCSB ma dla Redis. Możesz skopiować i wkleić Redis (pojedyncza instancja) i zmienić kod w init(). Skonfiguruj i skompiluj za pomocą maven, a następnie uruchom YCSB za pośrednictwem klienta klastra Redis.
Więcej szczegółów:
Ponieważ YCSB używa javy, więc musimy użyć jedis. W jedis istnieje coś o nazwie JedisCluster, musimy go użyć, aby nawiązać połączenie między YCSB a klastrem Redis. Więcej szczegółów można znaleźć na github jedis.
Z drugiej strony pamiętaj, aby zmienić pom.xml w folderze kodu klienta, a także dodać moduł po stronie klienta w folderze głównym YCSB (także pom.xml, pod nosql).
Rzeczy, o których warto wspomnieć:
Eksperymentowałem dla klastra Redis za pomocą YCSB. Ustawienie standardowe, 4 węzły bez replik, maszyna 8 rdzeni, pamięć 8 GB, uruchamianie YCSB z innej maszyny z taką samą konfiguracją z 6 wątkami dla pracowników.
Klaster Redis jest 3x - 4x wolniejszy niż Redis Single Instance we wszystkich aspektach.(Głównie dla porównania progów, gdzie przepustowość nie może być wyższa przez dostosowanie parametru -target)
Naprawdę nie wiem, czy to mój problem, czy jest to problem jedis/jedisCluster/YCSB/Redis Cluster/itd.
Jeśli pomyślnie uruchomisz YCSB w klastrze Redis, podaj mi wynik. Będę bardzo ciekawy twojego wyniku.
Dzięki