Non so se hai capito questo problema o meno.
Ma fondamentalmente se vuoi usare YCSB su Redis Cluster, devi implementare un Redis Cluster Client per YCSB. È molto simile al client che YCSB ha per Redis. Puoi copiare e incollare Redis (istanza singola) e modificare il codice in init(). Configura e compila con Maven, quindi puoi eseguire YCSB tramite Redis Cluster Client.
Maggiori dettagli:
Perché YCSB usa java, quindi dobbiamo usare jedis. C'è una cosa nei jedis chiamata JedisCluster, dobbiamo usarla per stabilire una connessione tra YCSB e Redis Cluster. Maggiori dettagli possono essere trovati su jedis github.
Per la parte maven, ricorda di modificare pom.xml nella cartella del codice client e aggiungere anche il modulo lato client nella cartella radice YCSB (anche pom.xml, sotto nosql).
Cose degne di nota :
Ho fatto esperimenti per Redis Cluster usando YCSB. L'impostazione è standard, 4 nodi senza repliche, macchina a 8 core, 8 GB di memoria, in esecuzione YCSB da un'altra macchina con la stessa configurazione con 6 thread per i lavoratori.
Il cluster Redis è 3x - 4x più lento dell'istanza singola Redis sotto tutti gli aspetti.
Non so davvero se è un problema mio o è il problema di jedis/jedisCluster/YCSB/Redis Cluster/ecc.
Se esegui correttamente YCSB su Redis Cluster, dimmi il risultato. Sarò super curioso del tuo risultato.
Grazie