Ich habe eine 60-GB-SSD als Windows-Systemlaufwerk, was nicht ausreicht, um die gesamte Blockchain zu speichern. Ich habe BitCoin Core (bitcoin-qt) installiert und das Datenverzeichnis so eingestellt, dass es sich auf meiner 2-TB-Festplatte befindet. Allerdings läuft die initiale Blockchain-Synchronisation bereits seit 2 Tagen, aktuell mit '40 Wochen Verspätung'. Die HDD zeigt im Taskmanager von Windows 100% Auslastung an. Die CPU ist zu <50 % ausgelastet, die Netzwerkauslastung beträgt <1 MB/s während der Synchronisierung.
Kann ich die anfängliche Synchronisierung beschleunigen, indem ich die SSD als DB-Speicher verwende, während binäre Blockchain-Daten auf einer herkömmlichen Festplatte gespeichert werden?
Beschleunigt das wirklich die Synchronisierung?
Ja, es ist möglich, die Blockchain-Binärdaten auf einen Massenspeicher (HDD) zu laden, während die Index-DB auf einem performanten Speicher (SSD) bleibt. Die Bitcoin-Blöcke werden im blocks
Unterverzeichnis Ihrer datadir
. Der Speicherort Ihres Datenverzeichnisses ist entweder %AppData%\BitCoin
, oder wird von Ihnen während der Installation manuell festgelegtbitcoin-qt
.
Ich gehe davon aus, dass Sie BitCoin Core (alias bitcoin-qt) unter Windows 7 oder höher verwenden, wobei C:\ Ihre SSD ist, F:\ Ihre Festplatte ist und der Bot als NTFS formatiert ist. Der Standort datadir
ist %AppData%\BitCoin\
.
Verschieben Sie %AppData%\BitCoin\blocks
auf die Festplatte, zB aufF:\BTC\blocks
OPTIONALF:\BTC\blocks\index
Zurück zur SSD verschieben :%AppData%\BitCoin\index
HINWEIS: Der Blöcke-Ordner darf jetzt nicht in %AppData%\BitCoin existieren !
Öffnen Sie ein cmd-Fenster, indem Sie WIN+R drücken , dann cmd eingeben und auf ok klicken
Tippen/Einfügen mklink /J %AppData%\BitCoin\blocks F:\BTC\blocks
und ENTER drücken . (Dadurch wird eine NTFS-Junction erstellt , die einen Link in %AppData%\Bitcoin namens blocks erstellt , der auf den vorhandenen Ordner F:\BTC\blocks auf der Festplatte verweist.)
OPTIONAL Typ/Einfügen mklink /J F:\BTC\blocks\index %AppData%\BitCoin\index
und ENTER drücken (Neuen Link bei F:\BTC\blocks\index erstellen , der auf vorhandenes %AppData%\BitCoin\index zeigt )
Jetzt befindet sich das Blockverzeichnis auf der Festplatte für billigen Massenspeicher, während sich das Index-Unterverzeichnis und das übergeordnete Datadir auf der schnellen SSD befinden. Auf der Festplatte werden nur binäre Blockchain-Daten gespeichert.
Über das index
Verzeichnis ( Schritte 2, 4 ): Wie Pieter Wuille unten kommentiert, müssen Sie das index
Verzeichnis nicht wirklich blocks
zurück auf die SSD verschieben. Aber da es eine der Datenbanken enthält, dachte ich, dass es die Leistung beim Starten von bitcoin-qt verbessern könnte. [Zitat erforderlich]
In meinem Fall zeigt dieser Windows-Task-Manager zehnmal höhere Lese-/Schreibgeschwindigkeiten als zuvor (20-30 MB/s). Die Download-Geschwindigkeit stieg auf 2-4 MB/s (50 MBit Internet), die CPU-Auslastung liegt bei 85 %.
Ich habe die Verbesserung von Blöcken/Sekunde nicht überwacht, aber die Taskmanager-Werte zeigen einen besseren Datendurchsatz, was direkt mit mehr Blöcken pro Sekunde zusammenhängen sollte. Ich habe 15 Wochen Blockchain synchronisiert, während ich dies schrieb (30 Minuten), im Vergleich zu nur 1 Woche vor der Änderung!
Das Datadir ohne binäre Blockchain-Daten ist etwas mehr als 2 GB groß, wobei noch 25 Wochen Blockchain fehlen. Ich würde für die aktuell 80GB große Blockchain mindestens 5GB freien Speicherplatz auf der SSD empfehlen.
Pieter Wuille
blocks\index
Datenbank ist eigentlich irrelevant; wir schreiben immer nur ein paar Daten hinein. Es gibt jedoch eine andere Datenbank,chainstate
Verzeichnis, deren Leistung absolut kritisch ist. Ich würde vorschlagen, letzteres stattdessen auf SSD zu verschieben.Nomade
index
und die relevanten Schritte als optional markieren.Pieter Wuille
Nomade