Author

Topic: Core sync oder bootstrap.dat was ist schneller? (Read 1588 times)

legendary
Activity: 2730
Merit: 1263
Danke für die Tests. Diese Aussage wurde von Core Entwicklern schon länger propagiert, aber Deine Tests haben das nochmal mit Zahlen untermauert.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Anmerkung: Ich konnt die Zeit von ca. 8-9 Stunden, ohne bootstrap.dat und mit großem Datenbankcache, inzwischen auf meinem Server bestätigen. Ich werde entsprechend bei der Aussage bleiben, die bootstrap.dat lohnt sich nicht für 99% der Nutzer. Es gibt da sicher Ausnahmen in denen die Datei praktisch ist, z.B. wenn der eigentliche Node langsam und instabil angebunden ist man aber an einem anderen Ort über schnelles Internet verfügt. Für die meisten, aber gilt bootstrap.dat macht das Synchronisieren langsamer.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Test #3:

Die selbe VM wie vorher, allerdings ist nun core 0.12 installiert was die CPU arbeit beschleunigen sollte. Die bitcoin.conf file ist wieder modifiziert:

Code:
connect=192.168.1.115 # erzwingt 1000Mbit/s Verbindung zu einem Node der auf dem Host läuft. Somit ist Bandbreite keine Bremse mehr
dbcache=4096 # erhöht den Datenbank cache auf 4GB somit muss nicht auf der Festplatte zwischengespeichert werden.

Es wird die bootstrap.dat aus #1 verwendet, für den Download werden pauschal 6 Stunden berechnet, für das Entpacken 17 Minuten.

2015.02.25 - 19:56 - start core
2015.02.25 - 22:02 - Zwischenstand; Block 300370, 1 Jahr 41 Wochen zurück.
2015.02.26 - 04:58 - fertig

Code:
2016-02-26 03:58:10 UpdateTip: new best=0000000000000000034b35bec7815d3c6af3b60c91708675bf48e3f3d757ed9e  height=397433  log2_work=84.069784  tx=108815998  date=2016-02-08 21:12:25 progress=0.987138  cache=2442.8MiB(3323008tx)

Gesamtzeit: 2015.02.25 - 19:56 bis 2015.02.26 - 04:58 (zuzügl. 6:17): 15 Std. 23 Minuten
Zeit die tatsächlich mit Synchronisierung verbracht wurde: 15 Std. 23 Minuten

Anmerkung: Die neue version 0.12 ist wie erwartet deutlich schneller. Auch der Trick mit dem großen Datenbank cache scheint sich ausgezahlt zu haben. Bitcoin core braucht dadurch allerdings auch mehrere Minuten um zu beenden und nutzt die vollen 4 GB, benötigt insgesamt also knapp 5 GB Arbeitsspeicher.

Test #4:

Wie #3, allerdings ohne bootstrap.dat

2015.02.26 - 09:41 - start core
2015.02.26 - 11:11 - Zwischenstand; Block 304278, 1 Jahr 38 Wochen zurück.
2015.02.26 - 18:12 - fertig

Code:
2016-02-26 17:12:08 UpdateTip: new best=0000000000000000034b35bec7815d3c6af3b60c91708675bf48e3f3d757ed9e  height=397433  log2_work=84.069784  tx=108815998  date=2016-02-08 21:12:25 progress=0.986733  cache=2443.7MiB(3322996tx)

Gesamtzeit: 2015.02.26 - 09:41 bis 2015.02.26 - 18:12: 8 Std. 31 Minuten
Zeit die tatsächlich mit Synchronisierung verbracht wurde: 8 Std. 31 Minuten
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Das Thema kommt öfter mal auf und es scheiden sich die Geister dran was nun schneller ist, einfach core starten und gut oder eine aktuelle bootstrap.dat z.B. vom Bundesverband Bitcoin e.V.[1] nutzen.

Weil mir grad danach ist Teste ich das einfach mal.

OS: Win8.1 Pro via de_windows_8_1_x64_dvd_2707227.iso in VMWare 11.0 frisch installiert (bzw. für den 2. Test vom Snapshot nach der fertigen Installation wiederhergestellt.
CPU: 1 virtuelle CPU mit 2 Kernen auf i5 4460 @ 3.2Ghz Host. 2 Kerne damit die VM nicht von meinen Aktivitäten auf dem Host gebremst werden. Intel VT-x/EPT ist aktiviert, sollte aber keine Rolle spielen.
RAM: 6144 MB
HHD: 180 GB virtuelle Disk, geteilte Dateien auf WDC WD10EZEX 1TB, die Platte ist getrennt vom Host (SSD) und wird während des Tests nicht (oder nur marginal) verwendet.
Anbindung: 27Mbit/s downsteam lt. speedtest.net

Test #1 boostrap.dat

2015.02.08 - 21:33 - core installiert, aber nicht gestartet
2015.02.08 - 21:35 - download bootstrap.part01.rar bis bootstrap.part06.rar gestart
2015.02.08 - 23:40 - downloads laufen noch schätzungen für die restzeit sind 1-3 Stunden.
2015.02.08 - 23:42 - download bootstrap.part07.rar und bootstrap.part08.rar via weiterem browser gestartet um die freie Leitung über Nacht bestmöglich zu nutzen.
2015.02.09 - 06:18 - download ist seit ca. 3 Stunden abgeschlossen, Datei entpacken
2015.02.09 - 06:32 - core gestartet
2015.02.09 - 11:29 - crash

Auszug debug.log
Code:
2016-02-09 10:29:17 UpdateTip: new best=00000000000000000e71bd356d4b1e0f743d98157f7f3ba434a761c6d796bfda  height=310797  log2_work=79.721224  tx=42553228  date=2014-07-15 05:17:08 progress=0.278781  cache=61.2MiB(21670tx)
2016-02-09 10:29:17 IO error: C:\Users\fntest\AppData\Roaming\Bitcoin\chainstate\327115.ldb: Der Vorgang konnte nicht erfolgreich abgeschlossen werden, da die Datei einen Virus oder möglicherweise unerwünschte Software enthält.

2016-02-09 10:29:17 *** System error while flushing: Database I/O error
2016-02-09 10:47:41 socket sending timeout: 1201s

2015.02.09 - 17:20 - neustart core.
2015.02.09 - 17:50 - Zwischenstand, Block 313512, 1 Jahr 27 Wochen zurück, bootstrap.dat wird nicht mehr verwendet.
2015.02.09 - 21:11 - Zwischenstand, Block 329606, 1 Jahr 12 Wochen zurück, 4 GB empfangen, 3 MB übertragen, CPU konstant >92%
2015.02.09 - 21:35 - Test unterbrochen.
2015.02.09 - 23:58 - weiter gehts.
2015.02.10 - 09:10 - Zwischenstand, Block 356875, 38 Wochen zurück, 9 GB empfangen, 6 MB übertragen
2015.02.10 - 09:20 - Keine Blockquelle verfügbar.

Code:
2016-02-10 08:17:50 UpdateTip: new best=00000000000000000aed9276e0421d920bcfe0a99f1308fc944ce8240b14f2c8  height=357225  log2_work=82.810626  tx=69238857  date=2015-05-20 06:17:33 progress=0.714748  cache=49.4MiB(6029tx)
2016-02-10 08:17:50 socket send error Eine vorhandene Verbindung wurde vom Remotehost geschlossen.  (10054)

2015.02.10 - 09:25 - synchronisiere mit Netzwerk (selber remote Node) - 37 Wochen zurück
2015.02.10 - 20:59 - Zwischenstand, Block 381244, 14 Wochen zurück, 11 GB empfangen
2015.02.10 - 21:00 - Test unterbrochen.
2015.02.11 - 07:19 - synchronisiere mit Netzwerk (selber remote Node) - 14 Wochen zurück
2015.02.11 - 18:15 - Test beendet bei Block 397433.

Zeiten abzuziehen (Pausen, crash): 18 Std. 33 Minuten

Gesamtzeit: 2015.02.08 - 21:33 bis 2015.02.11 - 18:15: 68 Std. 42 Minuten
Zeit die tatsächlich mit Synchronisierung verbracht wurde: 68 Std. 42 - 18 Std. 33 Min: 50 Std. 9 Minuten.

Anmerkungen:

Durch den crash wurde die bootstrap.dat vom 31.01.2016 nicht vollständig verwendet. Die "Virus"-Meldung von core ist mir neu und Anti-Virus Software ist nicht installiert. Es ist also durchaus noch potential in der Datei. Die Bremse war aber eindeutig die CPU und nicht die Anbindung oder die Festplatte. Insgesamt bin ich aber überrascht das es so schnell ging die bootstrap.dat auf den Rechner zu bekommen. Wenn man mehr als einen Rechner damit versorgen kann ist man damit auf im Vorteil. Ich gehe nicht davon aus das core in weniger als 25 Stunden voll synchronisiert von daher lohnt es sich bereits ab dem 2. Rechner.



Test #2

Core wurde von dem Testsystem vollständig entfernt (deinstalliert und der %APPDATA%\Bitcoin Ordner gelöscht) und danach neu installiert. Ziel ist Block 397433 um ein vergleichbares Ergebnis zu haben. Ggf. werde ich den Test wieder zwischendurch unterbrechen müssen. Die bitcoin.conf die bis auf 2 Zeilen leer. Die sollen dafür sorgen das von Anfang an mindestens 2 gut angebundene Nodes bekannt sind.

Code:
addnode=37.120.160.55:8333
addnode=178.254.35.104:8333

2015.02.11 - 18:38 - start core.
2015.02.11 - 23:36 - Zwischenstand, Block 303895, 1 Jahr 36 Wochen zurück.

Code:
getpeerinfo
[
{
"id" : 1,
-snip-
"bytessent" : 5752755,
"bytesrecv" : 3007540503,
-snip-
},
{
"id" : 2,
-snip-
"bytessent" : 5440134,
"bytesrecv" : 3005536140,
-snip-
},
{
"id" : 7,
-snip-
"bytessent" : 4678467,
"bytesrecv" : 2999271016,
-snip-
},
{
"id" : 9,
-snip-
"bytessent" : 4051536,
"bytesrecv" : 2623573476,
-snip-
},
{
"id" : 13,
-snip-
"bytessent" : 3548242,
"bytesrecv" : 3333276123,
-snip-
},
{
"id" : 16,
-snip-
"bytessent" : 3486671,
"bytesrecv" : 2892292899,
-snip-
},
{
"id" : 18,
-snip-
"bytessent" : 13065,
"bytesrecv" : 41423,
-snip-
},
{
"id" : 20,
-snip-
"bytessent" : 2404384,
"bytesrecv" : 1729042365,
-snip-
}
]

2015.02.12 - 03:41 - crash

Code:
2016-02-12 02:41:22 UpdateTip: new best=000000000000000003ae8b123ef703ba9cae855abeac1454d3257ff1b7b98656  height=326974  log2_work=81.221699  tx=49733158  date=2014-10-25 19:31:15 progress=0.418696  cache=61.1MiB(13696tx)
2016-02-12 02:41:25 IO error: C:\Users\fntest\AppData\Roaming\Bitcoin\chainstate\568485.ldb: Der Vorgang konnte nicht erfolgreich abgeschlossen werden, da die Datei einen Virus oder möglicherweise unerwünschte Software enthält.

2016-02-12 02:41:25 *** System error while flushing: Database I/O error

2015.02.12 - 07:39 - neustart core
2015.02.12 - 07:39 - crash

Code:
2016-02-12 06:39:39 Pre-allocating up to position 0x5000000 in blk00188.dat
2016-02-12 06:39:41 IO error: C:\Users\fntest\AppData\Roaming\Bitcoin\chainstate\568978.ldb: Der Vorgang konnte nicht erfolgreich abgeschlossen werden, da die Datei einen Virus oder möglicherweise unerwünschte Software enthält.

2016-02-12 06:39:41 *** System error while flushing: Database I/O error

2015.02.12 - 07:44 - neustart core
2015.02.12 - 10:13 - Zwischenstand, Block 337007, 1 Jahr 5 Wochen zurück. Traffic ist wieder relativ gleichmässig zwischen allen 8 peers verteilt.
2015.02.12 - 13:20 - Test unterbrochen
2015.02.15 - 09:36 - start core
2015.02.15 - 11:45 - Wieder ein "Virus" gefunden diesmal konnte ich den Fehler verorten, Windows defender findet Virussignaturen in der Blockchain und beendet dann bitcoin core, Hab den bitcoin Ordner jetzt entsprechend ausgeschlossen. Interesanter weise ist das beim ersten Durchlauf deutlich seltener passiert.
2015.02.15 - 11:46 - neustart core
2015.02.15 - 14:16 - Zwischenstand, Block 351562, 44 Wochen zurück, Traffic ist ein Witz insgesamt 13 MB in der letzten 1 Std.
2015.02.15 - 18:20 - Test unterbrochen, Zwischenstand, Block 351562, 44 Wochen zurück, Traffic ist weiterhin ein Witz, liegt aber nicht an der Leitung. Ein Windows update lief problemlos mit 32Mbit/s.
2015.02.16 - 06:29 - start core
2015.02.16 - 09:00 - Test unterbrochen, Block 351562, 44 Wochen zurück.
2015.02.17 - 21:55 - start core
2015.02.20 - 22:47 - Zwischenstand, Block 351562, 44 Wochen zurück.
2015.02.20 - 22:50 - neustart core erzwinge reindex
2015.02.21 - 12:15 - Zwischenstand, Block 351931, 44 Wochen zurück.
2015.02.21 - 22:22 - Zwischenstand, Block 379829, 17 Wochen zurück.
2015.02.21 - 22:36 - Test unterbrochen, Block 380321
2015.02.23 - 16:00 - start core
2015.02.24 - 01:37 - Test beendet

Code:
2016-02-24 00:37:35 UpdateTip: new best=0000000000000000034b35bec7815d3c6af3b60c91708675bf48e3f3d757ed9e  height=397433  log2_work=84.069784  tx=108815998  date=2016-02-08 21:12:25 progress=0.988712  cache=38.4MiB(5824tx)

Gesamtzeit: 2015.02.11 - 18:38 bis 2015.02.24 - 01:37: 294 Std. 59 Minuten
Zeit die tatsächlich mit Synchronisierung verbracht wurde: 38 Std. 32 Minuten.

Anmerkungen:

Aufgrund der viele Fehler finde ich es schwer ein klares "Ja, ohne bootstrap.dat ist schneller" zu äußern. Ich hab entsprechend beschlossen weitere tests durchzuführen.

[1] https://bitcointalksearch.org/topic/m.13811249
Jump to: