Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Müllsammlung im Neptune-Wörterbuch
Neptune unterstützt die Dictionary Garbage Collection (GC), die über den neptune_lab_mode Parameter für Eigenschaftsdiagrammdaten aktiviert werden kann. Zur Aktivierung der Funktion ist ein Neustart der Writer-Instanz erforderlich. Diese Funktion ist ab der Engine-Version 1.4.3.0 verfügbar.
Kompatibilität mit Engine-Versionen vor 1.4.8.0
Vor der Engine-Version 1.4.8.0 konnten Sie Dictionary GC nur auf Clustern aktivieren, die nicht aktiviert waren. neptune_streams Neptune hat die Funktion automatisch deaktiviert, wenn sie aktiviert war. neptune_streams Neptune hat die Funktion auch deaktiviert, wenn noch nicht abgelaufene Daten vorhanden warenneptune_streams. Ab der Engine-Version 1.4.8.0 gilt diese Einschränkung nicht mehr, und Sie können Dictionary GC auf Clustern aktivieren, die aktiviert wurden. neptune_streams
Wenn diese Option aktiviert ist, werden die unbenutzten Wörterbucheinträge durch einen Hintergrundjob bereinigt. Es reduziert nichtVolumeBytesUsed, sondern gibt stattdessen Platz im Index für neue Einfügungen frei. Die Wachstumsrate von VolumeBytesUsed ist wahrscheinlich geringer, wenn Dictionary GC aktiviert ist, als wenn dies nicht der Fall ist.
Die Wörterbuch-Garbage-Collection läuft im Hintergrund und durchsucht alle Diagramm- und Wörterbuchdaten nach Begriffen, die nicht verwendet werden. Ein neuer Lauf wird beim Start ausgelöst, sobald sich etwa 6% der Daten geändert haben. GC konkurriert mit Abfrage-Threads um Serverressourcen wie CPU, Puffercache, Undo-Log-Generierung und I/O Schreibvorgänge, wodurch der Abfragedurchsatz potenziell reduziert wird. Da GC Daten scannt, die von Abfragen nicht aktiv betroffen sind, kann sich dies auf den Puffercache auf dem Writer-Knoten auswirken. Der Cluster könnte zusätzliche I/O Schreibvorgänge erleben und weitere Undo-Logs zu löschen haben, wenn GC neue Löschvorgänge durchführt, was auch zu höheren Werten für die UndoLogListSize Metrik führen kann.
GC kann in zwei Modi ausgeführt werden, undsoft_delete. enabled Wenn sie im soft_delete Modus ausgeführt werden, werden unbenutzte Wörterbucheinträge als gelöscht markiert (soft_delete), aber nicht explizit gelöscht. Dieser Modus könnte auch verwendet werden, um die Leistungsmerkmale nach dem Einschalten des Hintergrundbetriebs zu verstehen. Wenn der enabled Modus verwendet wird, werden Einträge explizit gelöscht („Hard Delete“). Es wird empfohlen, GC für einen bestimmten Zeitraum im soft_delete Modus laufen zu lassen, bevor Sie in den enabled Modus wechseln.
Dictionary GC unterstützt eine maximale Parallelität von 16 (auf Computern mit 16 oder mehr Kernen). Es wird standardmäßig mit einem einzelnen Thread ausgeführt, kann aber mit höherer Parallelität ausgeführt werden, wenn es zum ersten Mal aktiviert wird. Dictionary-GC-Threads werden mit gleicher Priorität wie die Abfrage-Threads ausgeführt, und sie beanspruchen gleichermaßen Ressourcen auf dem Writer.
Dictionary GC kann über den neptune_lab_mode Parameter aktiviert werden, indem der DictionaryGCMode Schlüssel gesetzt wird. Es akzeptiert drei mögliche Werte: disabled (Standard)soft_delete, oderenabled. Das folgende Codebeispiel würde beispielsweise den Wert DictionaryGCMode auf setzensoft_delete:
neptune_lab_mode = 'DictionaryGCMode=soft_delete'
Der Parallelitätsparameter,DictionaryGCConcurrency, ist optional und kann einen Wert zwischen 1 und 16 annehmen. Wenn der Wert auf einen höheren Wert als das Minimum von 16 und die Anzahl der Kerne gesetzt ist, ist die Parallelität auf diesen Wert begrenzt.
neptune_lab_mode = 'DictionaryGCMode=soft_delete,DictionaryGCConcurrency=2'
Der Dictionary-GC-Job wird nach dem Serverstart im Hintergrund aktiviert, sobald einige Daten verfügbar sind. Der Engine-Status zeigt den aktuellen Status von Dictionary GC an. Die unten abgebildete Beispielausgabe zeigt, dass sich das Wörterbuch GC im soft_delete Modus befindet und mit einer Parallelität von 2 ausgeführt wird. Wenn der Hintergrundjob läuft, sucht er möglicherweise aktiv nach unbenutzten Wörterbucheinträgen und löscht sie oder wartet darauf, dass ein neuer Satz von Löschvorgängen eine neue GC-Runde auslöst.
{"status":"healthy",...,"labMode":{"ObjectIndex":"disabled","DictionaryGC":"{Mode=enabled,Concurrency=2}"},...}
Dictionary GC wird angehalten, wenn eine der folgenden Bedingungen erfüllt ist:
-
Aktives Massenladen.
-
Der freigebbare Speicher beträgt weniger als 15 GB.
-
UndoLogListSizeist höher als 1.000.000.