Ik weet niet of je dit probleem hebt bedacht of niet.
Maar als u YCSB op Redis Cluster wilt gebruiken, moet u in principe een Redis Cluster Client voor YCSB implementeren. Het lijkt erg op de client die YCSB voor Redis heeft. U kunt de Redis (enkele instantie) kopiëren en plakken en de code in de init() wijzigen. Configureer en compileer met maven, dan kunt u de YCSB uitvoeren via Redis Cluster Client.
Meer details:
Omdat YCSB java gebruikt, moeten we jedis gebruiken. Er is iets in jedis genaamd JedisCluster, we moeten dat gebruiken om verbinding te maken tussen YCSB en Redis Cluster. Meer details zijn te vinden op jedis github.
Voor het maven-gedeelte, vergeet niet om pom.xml in uw clientcodemap te wijzigen en ook uw client-side-module toe te voegen aan uw YCSB-hoofdmap (ook pom.xml, onder nosql).
Dingen die het vermelden waard zijn:
Ik heb geëxperimenteerd voor Redis Cluster met behulp van YCSB. De instelling is standaard, 4 nodes zonder replica's, 8 cores machine, 8 GB mem, YCSB draaiend vanaf een andere machine met dezelfde setup met 6 threads voor werkers.
Het Redis-cluster is in alle opzichten 3x - 4x langzamer dan Redis Single Instance. (Voornamelijk voor de drempelvergelijking, waarbij de doorvoer niet hoger kan worden gemaakt door de parameter -target aan te passen)
Ik weet niet echt of het mijn probleem is of het probleem van jedis/jedisCluster/YCSB/Redis Cluster/etc.
Als je de YCSB met succes op Redis Cluster hebt uitgevoerd, vertel me dan het resultaat. Ik ben super benieuwd naar je resultaat.
Bedankt