翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Neptune は、プロパティグラフデータの neptune_lab_mode
パラメータを介して有効にできるディクショナリガベージコレクション (GC) をサポートしています。が有効になっていneptune_streams
ない場合、プロパティグラフデータのみを持つクラスターで有効にできます。neptune_streams
が有効になっている場合、または有効期限が切れていないneptune_streams
データがある場合、この機能は自動的に無効になります。この機能を有効にするには、ライターインスタンスを再起動する必要があります。この機能は、エンジンリリース 1.4.3.0 から使用できます。
有効にすると、未使用のディクショナリエントリはバックグラウンドジョブによってクリーンアップされます。を減らすのではなくVolumeBytesUsed
、新しい挿入のためにインデックスのスペースを解放します。ディクショナリ GC が有効な場合、 の増加率は、有効でない場合よりも少なくなるVolumeBytesUsed
可能性があります。
ディクショナリガベージコレクションはバックグラウンドで実行され、すべてのグラフとディクショナリデータをスキャンして、使用されていない用語を見つけます。データの約 6% が変更されると、起動時に新しい実行がトリガーされます。CPU、バッファキャッシュ、元に戻すログ生成、書き込み I/O オペレーションなどのヘッドノードリソースのクエリスレッドと競合し、クエリスループットに悪影響を及ぼす可能性があります。GC はクエリによってアクティブにタッチされていないデータをスキャンするため、ライターノードのバッファキャッシュに影響を与える可能性があります。クラスターは追加の書き込み I/O オペレーションを表示し、GC が新しい削除を実行するにつれて消去する元に戻すログをさらに持つことができます。これにより、UndoLogListSize
メトリクスの値が高くなる可能性もあります。
GC は、 soft_delete
と の 2 つのモードで実行できますenabled
。soft_delete
モードで実行されると、未使用のディクショナリエントリは削除 (soft_delete) とマークされますが、明示的には削除されません。このモードは、バックグラウンドオペレーションがオンになった後のパフォーマンス特性を理解するためにも使用できます。有効モードを使用すると、エントリは明示的に削除されます (「ハード」削除)。モードに切り替える前にsoft_delete
、一定期間 GC をenabled
モードで実行することをお勧めします。
ディクショナリ GC は、最大同時実行数 16 をサポートします (コアが 16 個以上のマシンの場合)。デフォルトでは 1 つのスレッドで実行されますが、初めて有効にすると、より高い同時実行数で実行できます。ディクショナリ GC スレッド (複数可) はクエリスレッドと同等の優先度で実行され、ライターのリソースと同等に競合します。
ディクショナリ GC は、 DictionaryGCMode
キーを設定することで neptune_lab_mode
パラメータを介して有効にできます。3 つの値を使用できます。 disabled
(デフォルト)、soft_delete
、または ですenabled
。たとえば、次のコードサンプルでは、 DictionaryGCMode
を に設定しますsoft_delete
。
neptune_lab_mode = 'DictionaryGCMode=soft_delete'
同時実行パラメータ はオプションでDictionaryGCConcurrency
、1~16 の値を取ることができます。最小値の 16 およびコア数よりも大きい値に設定すると、同時実行はその値に制限されます。
neptune_lab_mode = 'DictionaryGCMode=soft_delete,DictionaryGCConcurrency=2'
ディクショナリ GC ジョブは、サーバーが起動した後、使用可能なデータがあるとバックグラウンドで有効になります。エンジンステータスには、ディクショナリ GC の現在のステータスが表示されます。以下に示す出力例は、ディクショナリ GC が soft_delete
モードであり、同時実行数が 2 であることを示しています。バックグラウンドジョブが実行されている場合、未使用のディクショナリエントリをアクティブにスキャンして削除したり、新しい削除セットが新しい GC ラウンドをトリガーするのを待つことがあります。
"labMode":{"DictionaryGC":"{Mode=soft_delete,Concurrency=2}"}
これらの条件のいずれかが満たされると、ディクショナリ GC は一時停止されます。
-
アクティブな一括ロード。
-
解放可能なメモリは 15Gb 未満です。
-
UndoLogListSize
が 1,000,000 を超えています。