Du doc , il a dit
"Pour de meilleures performances, la majorité de votre ensemble actif doit tenir dans la RAM."
Ainsi, par exemple, mon db.stats()
donnez-moi
{
"db" : "mydb",
"collections" : 16,
"objects" : 21452,
"avgObjSize" : 768.0516501957859,
"dataSize" : 16476244,
"storageSize" : 25385984,
"numExtents" : 43,
"indexes" : 70,
"indexSize" : 15450112,
"fileSize" : 469762048,
"ok" : 1
}
Quelle est la valeur working set size
?
Réponses:
La question / réponse SO liée par quanta dans les commentaires est correcte, le "Working set" est fondamentalement la quantité de données ET d'index qui seront actifs / utilisés par votre système.
Vous ne pouvez pas dire
db.stats()
ce que ce sera, sauf si vous pensez que vous aurez besoin d'avoir l'ensemble complet de données et l'index entier dans la RAM. Autrement dit, vous pouvez déterminer l'ensemble de travail maximal pour cette base de données, mais pas l'ensemble de travail actif réel. Le maximum est la somme de:Dans votre cas, ce maximum serait d'environ 30,45 Mio compte tenu de la sortie que vous avez collée.
Pour suivre l'utilisation réelle de la mémoire, je recommanderais une combinaison des chiffres de
db.stats()
et des graphiques de mémoire (mémoire résidente en particulier) disponibles dans l'outil de surveillance gratuit - MMS .Mise à jour (04/08/2013):
La version 2.4 a ajouté un estimateur de la taille du jeu de travail à la commande serverStatus - ce n'est qu'une estimation, mais il peut être utilisé comme guide et pour vérifier si les autres chiffres et estimations ci-dessus sont pertinents pour votre instance MongoDB.
Mise à jour (septembre 2016):
Trois ans après ma réponse d'origine et les choses sont beaucoup plus compliquées - obtenir généralement la taille de vos données et de vos index est un bon point de départ. Mais, comprendre les choses dans MongoDB dépendra désormais du moteur de stockage que vous utilisez. De plus, la version 3.0 a supprimé l'estimateur d'ensemble de travail lié ci-dessus pour MMAP dans le cadre du travail de verrouillage au niveau de la collection (voir SERVER-13783 ). Il y a maintenant (par exemple) les statistiques de cache pour le
WiredTiger
moteur en remplacement en supposant que vous avez fait le saut vers le nouveau moteur. PourMMAP
, la recommandation générale est de regarder la métrique des défauts de page comme un proxy pour savoir si vos données sont en mémoire ou non.la source
MMS
déjà, mais je ne sais pas quel chiffre regarder.