Capture et rejeu
Capture et rejeu avec mongoreplay
- Objectif : enregistrer et rejouer les opérations sur MongoDB pour des tests de performance, de charge ou de débogage
- Fonctionne en interceptant le trafic entre le client et le serveur MongoDB
L'outil n'est plus supporté / maintenu depuis la v5.
Installation et prérequis
- Disponible dans MongoDB Database Tools
- Installer MongoDB Database Tools pour utiliser mongoreplay
Capture des opérations avec mongoreplay
- Utiliser l'option --record pour capturer les opérations
- Exemple : mongoreplay record --port 27017 --outputFile traffic_capture.bson
- Filtre les opérations enregistrées avec l'option --filter
- Exemple : mongoreplay record --port 27017 --outputFile traffic_capture.bson --filter '{"ns": "myDb.myCollection"}'
Rejeu des opérations avec mongoreplay
- Utiliser l'option --playback pour rejouer les opérations capturées
- Exemple : mongoreplay playback --inputFile traffic_capture.bson --host myMongoHost:27017
- Modifie le comportement du rejeu avec des options supplémentaires
- Exemple : mongoreplay playback --inputFile traffic_capture.bson --host myMongoHost:27017 --speed 2 --repeat 3
Limitations et considérations lors de l'utilisation de mongoreplay
- Nécessite un accès réseau pour capturer le trafic entre le client et le serveur
- Peut introduire une latence lors de la capture en temps réel
- Ne prend pas en charge certaines fonctionnalités, telles que les opérations de changement de flux
Cas d'utilisation et recommandations
- Test de charge et de performance pour identifier les goulets d'étranglement et les optimisations possibles
- Débogage des problèmes de production en rejouant les opérations dans un environnement de test
- Comparaison de l'impact des modifications de l'infrastructure ou du code sur les performances
- Recommandation : utiliser mongoreplay en complément d'autres outils de surveillance et de diagnostic de MongoDB
Références