Je lance l'outil YCSB sur mongodb pour benchmark db et je remarque qu'une fois que je charge une charge de travail (workloada par exemple) et exécute une transaction (cible 1500 par exemple) je ne peux pas en exécuter une autre transaction sans abandonner la base de données entière et charger à nouveau la base de données. la raison en est que si je cours une autre transaction sans laisser tomber et charger la base de données j'obtiens l'erreur "l'erreur de clef de double".Exécution des charges de travail ycsb sur mongodb
Il semble que la première transaction a entré certaines clés que la deuxième transaction tente également d'insérer. Y at-il une solution de contournement pour cela? Ou y a-t-il quelque chose qui ne va pas dans ce que je fais?
est la commande que j'utilise pour le chargement:
./bin/ycsb load mongodb -P workloads/workloada
-p mongodb.url=<ip_address>:27020
-p mongodb.maxconnections=150 -s
-p mongodb.writeConcern=normal
-target 3500 -threads 200 > <output-file>
est commande J'utilise ici pour la phase de transaction
./bin/ycsb load mongodb
-P workloads/workloada
-p mongodb.url=<IP_address>:27020
-p mongodb.maxconnections=100 -s
-p mongodb.writeConcern=normal
-target 1500 -threads 100 > <output_file>
mais votre ligne de commande pour la transaction est erronée, vous exécutez la charge de données – didxga
remplacer "charger" par "exécuter" - c'est ce qui exécute la charge de travail (charger insère seulement et doit être exécuté exactement une fois). –