stats collection mongodb database

collection - mongodb stats



base de datos dataSize en mongodb (4)

El comando dbStats devuelve diferentes estadísticas de almacenamiento para una base de datos determinada. Como se explica en esta publicación sobre las diferentes métricas de rendimiento de MongoDB que debe monitorear (con MMAPv1), la métrica de dataSize que mencionó mide el espacio que dataSize todos los documentos y el relleno en la base de datos. Para obtener la "huella de almacenamiento" de su base de datos en el disco, debe mirar las métricas de fileSize que corresponden al tamaño de sus archivos de datos. Solo disminuye si elimina una base de datos y no se ve afectado cuando se eliminan colecciones, documentos o índices.

Aquí hay un diagrama con las diferentes métricas de almacenamiento importantes devueltas por dbStats:

También tenga en cuenta que, con el motor de almacenamiento MMAPv1, la memoria asignada (métrica mem.mapped ), correspondiente a la cantidad de memoria virtual utilizada para asignar la base de datos a la memoria, le brinda una buena aproximación del tamaño total de su base de datos. . Puede acceder a esta métrica con el comando serverStatus .

Con el siguiente comando, puedo obtener el tamaño de los datos de una colección específica:

db.collection.dataSize()

¿Cómo obtengo el tamaño de una base de datos?


Use el siguiente comando en mongoshell:

db.stats()

La salida debería ser así:

{ "collections" : 3, "objects" : 80614, "dataSize" : 21069700, "storageSize" : 39845376, "numExtents" : 9, "indexes" : 2, "indexSize" : 6012928, "ok" : 1 }

Ver más comando de diagnóstico here .


Utilice db.getStats () en Java

CommandResult re = db.getStats(); for(String k: re.keySet()){ System.out.println(k+"="+re.get(k) ); }

Entonces obtendremos un resultado como el siguiente:

serverUsed=127.0.0.1:27017 db=test collections=3 objects=100004 avgObjSize=67.99876004959802 dataSize=6800148 storageSize=10633216 numExtents=9 indexes=1 indexSize=4406864 fileSize=50331648 nsSizeMB=16 ok=1.0


En MongoDB:

db.stats() //For db status db.<collectionname>.stats() //For collection status

En Python:

connection = pymongo.Connection(host = "127.0.0.1", port = 27017) db = connection["test_db"] test_collection = db["test_collection"] db.command("dbstats") # prints database stats for "test_db" db.command("collstats", "test_collection") # prints collection-level stats for "test_collection" under "test_db".

En PHP:

$con= new Mongo() $stats=$con->dbName->command(array(''dbStats'' => 1)); // for db.stats() $stats=$con->dbName->command(array(''collStats'' => ''collection_name'')); // for db.collection_name.stats()