Je ne sais pas si vous avez compris ce problème ou non.
Mais fondamentalement, si vous souhaitez utiliser YCSB sur Redis Cluster, vous devez implémenter un client Redis Cluster pour YCSB. C'est très similaire au client que YCSB a pour Redis. Vous pouvez copier et coller le Redis (instance unique) et modifier le code dans init(). Configurez et compilez avec maven, puis vous pouvez exécuter le YCSB via Redis Cluster Client.
Plus de détails :
Parce que YCSB utilise java, nous devons donc utiliser jedis. Il y a une chose dans jedis appelée JedisCluster, nous devons l'utiliser pour établir une connexion entre YCSB et Redis Cluster. Plus de détails peuvent être trouvés sur jedis github.
Pour la partie maven, n'oubliez pas de modifier le pom.xml dans votre dossier de code client, et ajoutez également votre module côté client dans votre dossier racine YCSB (également pom.xml, sous nosql).
Choses à mentionner :
J'ai fait des expériences pour Redis Cluster en utilisant YCSB. Le paramètre est standard, 4 nœuds sans répliques, machine à 8 cœurs, 8 Go de mémoire, exécutant YCSB à partir d'une autre machine avec la même configuration avec 6 threads pour les travailleurs.
Le cluster Redis est 3x - 4x plus lent que Redis Single Instance dans tous les aspects. (Principalement pour la comparaison de seuil, où le débit ne peut pas être augmenté en ajustant le paramètre -target)
Je ne sais pas vraiment si c'est mon problème ou si c'est le problème de jedis/jedisCluster/YCSB/Redis Cluster/etc.
Si vous exécutez avec succès le YCSB sur le cluster Redis, veuillez m'indiquer le résultat. Je serai super curieux de votre résultat.
Merci