Redis
 sql >> Database >  >> NoSQL >> Redis

Per avviare il caricamento YCSB con l'opzione cluster abilitata per REDIS

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