Avamar: So steuern Sie die Avtar-Speicherauslastung durch Anpassen der Hash- und Datei-Caches
Summary: Optimieren Sie die Avamar-Speicherauslastung durch Anpassen von Hash- und Datei-Caches, Überschreiben von Standardlimits mit Flags und Anpassen der Cachegrößen für eine verbesserte Performance. ...
Instructions
Informationen, die sich mit avtar Speicherauslastung:
Es gibt drei Hauptfaktoren für die Gesamtspeichernutzung auf dem Client, wenn: avtar Läufe:
1. Das Skript avtar Die Binärdatei selbst benötigt Arbeitsspeicher, wenn ein Backup durchgeführt wird (auch bekannt als snapup). Die Menge an Arbeitsspeicher, die von der avtar liegt in der Regel im Bereich von 20 MB bis 30 MB. Diese Menge hängt davon ab, welches Betriebssystem der Client ausführt, und schwankt während des Backups je nach Struktur der Dateien, die von abgerufen werden avtar.
2. Das Skript avtar Der Prozess lädt zwei Cachedateien in den Arbeitsspeicher. Diese beiden Cachedateien befinden sich im Avamar-Verzeichnis var. Die erste davon ist der Dateicache (f_cache.dat). Der Dateicache speichert die Hashes der Dateiattribute und wird verwendet, um schnell zu identifizieren, welche Dateien zuvor auf dem Axion (auch bekannt als Avamar)-Server. Das Vorhandensein des Dateicaches ist einer der wesentlichen Gründe, warum nachträgliche Axion Backups (d. h. nach dem ersten Backup) sind in der Regel sehr schnell. In der Regel werden im Dateicache etwa 95 % bis 98 % der Dateien aussortiert. Wenn der Dateicache gelöscht, nicht verwendet oder unterdimensioniert ist, muss jede Datei, die kein "Treffer" im Dateicache ist, geöffnet, gelesen, in Blöcke aufgeteilt und gehasht werden, bevor die avtar Der Prozess stellt fest, dass die Hashes zuvor an die Axion Server. Wenn eine Datei einen "Treffer" im Dateicache hat, wird nie auf die Datei zugegriffen, wodurch erhebliche Zeit und CPU gespart werden.
Standardmäßig kann der Dateicache bis zu 1/8 des physischen RAM auf dem Axion Kunde. Wenn der Client beispielsweise über 4 GB RAM verfügt, ist der Dateicache auf maximal 512 MB beschränkt. Die Größe des Dateicaches verdoppelt sich jedes Mal, wenn er vergrößert werden muss. Die aktuellen Dateicachegrößen sind 5,5 MB, 11 MB, 22 MB, 44 MB, 88 MB, 176 MB, 352 MB, 704 MB usw. In diesem Beispiel, in dem ein Client über 4 GB RAM verfügt, ist die maximale Größe des Dateicaches auf 352 MB beschränkt.
3. Der zweite Cache ist der Hash-Cache (p_cache.dat). Im Hash-Cache werden die Hashes der Blöcke gespeichert, die an den Axion Server. Wie oben erwähnt, ist die avtar Der Prozess erzielt die größte Effizienz, wenn sichergestellt wird, dass der Dateicache ausreichend dimensioniert ist. Wenn der Hash-Cache gelöscht oder nicht verwendet wird oder unterdimensioniert ist, dann, wenn die avtar feststellt, dass ein Hash eines Blocks, der nicht im Hash-Cache enthalten ist, der avtar Verarbeiten Sie Abfragen, die Axion Server für das Vorhandensein des Hash.
Standardmäßig kann der Hash-Cache bis zu 1/16 des physischen RAM auf dem Axion Kunde. Im vorherigen Beispiel des Clients mit 4 GB RAM ist der Hash-Cache auf maximal 256 MB begrenzt. Die Größe des Hash-Caches verdoppelt sich jedes Mal, wenn er wachsen muss. Die aktuellen Hash-Cachegrößen sind 24 MB, 48 MB, 96 MB, 192 MB, 384 MB, 768 MB usw. In diesem Beispiel, in dem ein Client über 4 GB RAM verfügt, ist die maximale Größe des Hash-Caches auf 194 MB beschränkt.
Aus dem oben Gesagten lässt sich ableiten, dass, wenn ein Client über mehr als 1/2 GB RAM verfügt, die Datei- und Hash-Caches die allgemeine Speicherauslastung dominieren. Dies liegt daran, dass beide Caches zu Beginn des Vorgangs vollständig in den Speicher eingelesen werden. avtar Sicherungskopie. Wie oben dargestellt, wird der Gesamtspeicher, der von avtar auf ca. 3/16 des physischen RAM auf dem Axion Kunde.
Die Größe der Datei- und Hash-Caches wird am Anfang der avtar Protokollen.
Zum Beispiel:
avtar Info <5573>: - Loaded cache file C:\ProgramFiles\Avamar\var\f_cache.dat (5767712 bytes)
avtar Info <5573>: - Loaded cache file C:\ProgramFiles\Avamar\var\p_cache.dat (25166368 bytes)
Hier beträgt der Dateicache 5,5 MB und der Hash-Cache 24 MB.
Am Ende des avtar -Protokoll wird der folgende Satz von Meldungen angezeigt:
avtar Info <5587>: Updating cache files in C:\ProgramFiles\Avamar\var
avtar Info <5069>: - Writing cache file C:\ProgramFiles\Avamar\var\f_cache.dat
avtar Info <5546>: - Cache update complete C:\ProgramFiles\Avamar\var\f_cache.dat (5.5MB of 63MB max)
avtar Stats <6151>: File cache: 131072 entries,added/updated 140, booted 0
avtar Info <5069>: - Writing cache file C:\ProgramFiles\Avamar\var\p_cache.dat
avtar Info <5546>: - Cache update complete C:\ProgramFiles\Avamar\var\p_cache.dat (24.0MB of 31MB max)
avtar Stats <6152>: Hash cache: 1048576 entries,added/updated 1091, booted 0
Aus diesen Zeilen geht hervor, dass der Dateicache zwar Platz zum Wachsen hat, der Hash-Cache jedoch sein Maximum erreicht hat. Wenn einer der Caches unterdimensioniert ist, ist der Wert für "booted" ungleich Null und das Protokoll enthält eine Warnung, dass der Cache unterdimensioniert ist. Dies ist wichtig zu beachten, da die Größe des Caches einen großen Einfluss auf die Gesamtleistung hat.
Die standardmäßigen Cachebegrenzungscaches können mithilfe der folgenden beiden Flags überschrieben werden:
--filecachemax=n
Wobei n die Anzahl von MB oder ein Bruchteil ist (negativer Wert = Bruchteil von RAM)
Standardwert:
--filecachemax=-8
Beispiel für die Begrenzung des Dateicaches auf eine Größe von 100 MB:
--filecachemax=100
--hashcachemax=n
Wobei n die Anzahl von MB oder ein Bruchteil ist (negativer Wert = Bruchteil von RAM)
Standardwert:
--hashcachemax=-16
Eine weitere Überlegung bei der Implementierung ist, dass, wenn die Cachegröße auf eine Reihe von Clients begrenzt ist, die entsprechenden Parameter zu den Parametern der einzelnen Clients hinzugefügt werden sollten. avtar.cmd -Datei, sodass sie jedes Mal angewendet wird, wenn der Client ein Backup durchführt, auch bei manuellen Backups. Wenn die avtar.cmd Datei kein Flag enthält und ein manuelles Backup ohne die entsprechenden Optionen durchgeführt wird, kann der Datei- oder Hash-Cache wieder auf die Standardwerte anwachsen.
Um die Leistung zu optimieren, ist es manchmal erforderlich, die Cachegrößen von den Standardwerten zu erhöhen.
Diese Bedingungen können in den folgenden zwei diametral entgegengesetzten Fällen vorliegen:
1. Wenn der Client Millionen kleiner Dateien enthält, muss der Dateicache möglicherweise von der Standardgröße erhöht werden. Die allgemeine Richtlinie lautet, dass für jede Million Dateien auf dem Axion Client sollte der Client über 512 MB physischen RAM verfügen.
Wenn ein Client über 1 Million Dateien verfügt, sind mindestens 20 MB erforderlich, um die Datei-Hashes für ein einzelnes Backup zu speichern (jeder Hash umfasst 20 Byte). Da die Datei-Hashes für mehrere Backups gespeichert werden müssen, ist mehr erforderlich, was bedeutet, dass sie auf ca. 44 MB anwächst. Da standardmäßig 1/8 der physischen 512 MB RAM verwendet wird, darf der Cache bis zu einer Grenze von 64 MB wachsen, sodass der Wert von 1/8 des RAM für den Dateicache ausreichend ist.
2. Wenn der Client über einige große Dateien verfügt, ist der Standardwert von 1/16 für den Hash-Cache wahrscheinlich nicht ausreichend.
Wenn beispielsweise eine Datenbank mit 200 GB vorhanden ist, müssen bis zu 10 Millionen Hashes zwischengespeichert werden. Da jeder Hash 20 Byte groß ist, sind für ein einzelnes Backup mindestens 200 MB erforderlich.
Das nächste verfügbare Inkrement ist 384 MB. Wenn dieser Client also über 4 GB RAM verfügt, muss der Hash-Cache auf 1/8 des RAM anwachsen können. Wenn der Standardwert von 1/16 des RAM verwendet wird, ist der Hash-Cache auf 192 MB beschränkt und der Hash-Cache ist unterdimensioniert. Da im Falle von Datenbanken nur wenige Dateien gesichert werden, ist der Dateicache erheblich kleiner, sodass die Nettospeicherauslastung immer noch etwa 1/8 bis 3/16 des RAM beträgt.
Um dieses Problem in einer bestimmten Umgebung systematischer anzugehen, bestimmen Sie anhand der avtar Protokolliert, wie groß die Datei- und Hash-Caches sind.
Wenn die kombinierte Größe dieser Caches kleiner sein muss, gibt es Möglichkeiten, die Größe zu begrenzen.
Wenn die Cachegrößen begrenzt werden müssen, beachten Sie Folgendes:
- Für einen typischen Dateiserver ist die Ausführung ohne Hash-Cache weitaus besser als die Ausführung ohne Dateicache
- Für einen typischen Datenbankserver ist die Ausführung ohne Dateicache weitaus besser als die Ausführung ohne Hash-Cache.