Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

dbStats

項目一覧

  • 定義
  • 互換性
  • 構文
  • コマンドフィールド
  • 動作
  • 出力
dbStats

dbStats コマンドは、指定されたデータベースのストレージ統計を返します。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M 0 、M 2 、および M 5クラスターで限定的にサポートされています。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.runCommand(
{
dbStats: 1,
scale: <number>,
freeStorage: 0
}
)

このコマンドは、次のフィールドを使用します。

フィールド
説明

1

任意。 さまざまなサイズ データの増やす ファクター。scaleのデフォルトは 1 で、サイズ データをバイト単位で返します。 バイトではなくキロバイトを表示するには、 scaleの値を1024に指定します。

整数以外のスケール係数を指定した場合、MongoDB は指定された係数の整数部分を使用します。たとえば、スケール係数を 1023.999 に指定すると、MongoDB はスケール係数として 1023 使用します。

バージョン 4.2 以降では、出力にサイズ値を増やすのに使用される scaleFactor が含まれるようになりました。

任意。コレクションに割り当てられた空き領域の詳細を返すには、 freeStorage を「1」に設定します。

インスタンスに多数のコレクションまたはインデックスがある場合、空き領域の使用状況データを取得すると、処理が遅れる可能性があります。空き領域の詳細なしでdbStats 情報を収集するには、freeStorage 0を に設定するか、フィールドを含めないでください。

mongosh では、db.stats() 関数が dbStats. のラッパーを提供します。

コマンドの実行に必要な時間は、データベースの合計サイズによって異なります。コマンドはすべてのデータファイルにアクセスする必要があるため、コマンドの実行には数秒かかる場合があります。

Wired Tiger ストレージ エンジンを使用して mongod を不正にシャットダウンした後、dbStats によって報告されるカウントとサイズの統計が不正確になる可能性があります。

ドリフトの量は、チェックポイントからクリーン シャットダウンまでの間に実行された挿入、アップデート、または削除操作の数によって異なります。チェックポイントは通常、60 秒ごとに発現します。ただし、デフォルト以外の --syncdelay 設定で実行されている mongod インスタンスでは、チェックポイントの頻度が増減する可能性があります。

不正なシャットダウン後に統計を復元するには、mongod の各コレクションに対して validate を実行します。

不正なシャットダウン後:

レプリカセット ノード上で dbStats 操作を実行するには、ノードが PRIMARY または SECONDARY状態である必要があります。ノードが STARTUP2 などの別の状態にある場合、操作はエラーになります。

dbStats.db

データベースの名前。

dbStats.collections

データベース内のコレクションの数。

dbStats.views

データベース内のビュー数。

dbStats.objects

すべてのコレクションにわたるデータベース内のオブジェクト(具体的には、ドキュメント)の数。

dbStats.avgObjSize

各ドキュメントの平均サイズ(バイト単位)。これは、dataSize をドキュメント数で割った値です。スケール引数avgObjSize 値に影響しません。

dbStats.dataSize

データベースに保持されている非圧縮データの合計サイズ。dataSize は、ドキュメントを削除すると減少します。

WiredTiger ストレージ エンジンを使用するデータベースの場合、圧縮が有効になっていると、dataSizestorageSize より大きくなる可能性があります。ドキュメントが縮小すると、 dataSize は減少します。

dbStats.storageSize

ドキュメントストレージ用にデータベース内のすべてのコレクションに割り当てられたディスク領域の合計(空き領域を含む)。

ドキュメントを削除または縮小しても、 storageSizeは減少しません。 この値は、dataSize 圧縮 が有効になっている WiredTiger ストレージ エンジンを使用しているデータベースの場合、 より小さくなる可能性があります。

storageSize には、インデックスに割り当てられたスペースは含まれません。インデックスの合計サイズについては、indexSize を参照してください。

dbStats.freeStorageSize

ドキュメントストレージ用にデータベース内のすべてのコレクションに割り当てられた空き領域の合計。データベース・ストレージの空き領域はコレクションに割り当てられていますが、データは含まれていません。

freeStorageSize にはインデックスに割り当てられた空き領域は含まれません。インデックスの空き領域の合計については、 indexFreeStorageSize を参照してください。

この値をdbStatsの出力に含めるには、 freeStorageを1に設定します。

バージョン 5.3.0、5.2.1、および 5.0.6 でアップデート

dbStats.indexes

データベース内のすべてのコレクションにわたるインデックスの合計数。

dbStats.indexSize

インデックスの空き領域を含む、データベース内のすべてのインデックスに割り当てられたディスク容量の合計。

dbStats.indexFreeStorageSize

データベース内のすべてのインデックスに割り当てられたディスクの空き領域の合計。データベース・ストレージの空き領域はインデックスに割り当てられていますが、データは含まれていません。

indexFreeStorageSize にはドキュメント ストレージに割り当てられた空き領域は含まれません。ドキュメント・ストレージの空き領域の合計については、 freeStorageSize を参照してください。

indexFreeStorageSize 進行中のインデックス構築は含まれません。

この値をdbStatsの出力に含めるには、 freeStorageを1に設定します。

バージョン 7.0、6.3.2、6.0.7、5.3.0、5.2.1、5.0.19、5.0.6 でアップデート

dbStats.totalSize

データベース内のすべてのコレクション内のドキュメントとインデックスの両方に割り当てられたディスク領域の合計。ストレージの使用済みおよび空き領域を含みます。これは storageSizeindexSize の合計です。

dbStats.totalFreeStorageSize

データベース内のすべてのコレクション内のドキュメントとインデックスの両方に割り当てられたストレージの空き領域の合計。 これはfreeStorageSizeindexFreeStorageSizeの合計です。

この値をdbStatsの出力に含めるには、 freeStorageを1に設定します。

バージョン 5.3.0、5.2.1、および 5.0.6 でアップデート。

dbStats.scaleFactor

scale 値(コマンドで使用)。

整数以外のスケール係数を指定した場合、MongoDB は指定された係数の整数部分を使用します。たとえば、スケール係数を 1023.999 に指定すると、MongoDB はスケール係数として 1023 使用します。

dbStats.fsUsedSize

MongoDB がデータを保存するファイルシステムで使用中のすべてのディスク領域の合計サイズ。

Tip

以下も参照してください。

dbStats.fsTotalSize

MongoDB がデータを保存するファイルシステム上のすべてのディスク容量の合計サイズ。

次の例は、dbStats の使用方法を示しています。

返されるデータを 1 つのフィールドに制限するには、dbStats コマンドにフィールド名を追加します。この例では、indexSize 値を返します。

db.runCommand( { dbStats: 1 } ).indexSize

ストレージの空き領域の使用状況を表示するには、freeStorage を「1」に設定します。

db.runCommand( { dbStats: 1, scale: 1024, freeStorage: 1 } )

出力例:

{
db: 'test',
collections: 2,
views: 0,
objects: 1689,
avgObjSize: 52.56542332741267,
dataSize: 86.7021484375,
storageSize: 100,
freeStorageSize: 32,
indexes: 2,
indexSize: 116,
indexFreeStorageSize: 36,
totalSize: 216,
totalFreeStorageSize: 68,
scaleFactor: 1024,
fsUsedSize: 60155820,
fsTotalSize: 61255492,
ok: 1,
'$clusterTime': {
clusterTime: Timestamp({ t: 1646085664, i: 1 }),
signature: {
hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0),
keyId: Long("0")
}
},
operationTime: Timestamp({ t: 1646085664, i: 1 })
}

freeStorage フィールドを使用すると、強調表示されたメトリクスの収集と表示が可能になります。

スケールフィールドでは、表示される値をキロバイトに設定します。

戻る

dbHash