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

db.collection.dataSize()

¿Cómo puedo obtener el datasize de una base de datos?

InformationsquelleAutor JuanPablo | 2011-05-30

4 Comentarios

  1. 37

    Utilice el siguiente comando en mongoshell:

     db.stats()

    La salida debe ser similar a esto:

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

    Ver más comandos de diagnóstico aquí.

  2. 4

    Uso de db.getStats() en Java

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

    A continuación, se obtiene un mejor 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
  3. 4

    La dbStats comando devuelve de almacenamiento diferentes estadísticas para una determinada base de datos.
    Como se explica en este post acerca de los diferentes MongoDB métricas de rendimiento que debe controlar (con MMAPv1), el dataSize métrica que usted ha mencionado mide el espacio ocupado por todos los documentos y relleno en la base de datos.
    Para obtener el «espacio de almacenamiento» de que la base de datos en el disco, usted debe buscar en el fileSize de las métricas que se corresponde con el tamaño de sus archivos de datos. Disminuye sólo si elimina una base de datos y no se ve afectado cuando las colecciones, documentos, o los índices son eliminados.

    Aquí está un diagrama con los diferentes almacenamiento importantes métricas devuelto por dbStats:
    base de datos de dataSize en mongodb

    También nota de que, con el MMAPv1 motor de almacenamiento, la memoria asignada (mem.mapped métrica), correspondiente a la cantidad de memoria virtual que se utiliza para asignar la base de datos en la memoria, le da una buena aproximación del tamaño total de la base de datos(s). Puede acceder a esta métrica con la estatus del servidor de comando.

  4. 1

    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()

Dejar respuesta

Please enter your comment!
Please enter your name here