Re: 初期ブロックダウンロードの高速化(5倍速)

参加者: knightmb

Quote from: satoshi on July 23, 2010, 06:24:56 PM

データベース設定をいくつか調整することで、初期ブロックダウンロードを約5倍高速化することができた。約30分でダウンロードが完了する。

データベースのデフォルト設定では、各ブロックを同期的にディスクに書き込んでいたが、これは必要ない。変更をメモリにキャッシュし、バッチで書き出すように設定を変更した。ブロックはトランザクション的に書き込まれるため、完全な変更が行われるか、まったく行われないかのどちらかであり、いずれの場合もデータは有効な状態に保たれる。

この変更は初期ブロックダウンロード中のみ有効にした。最新のブロックから2000ブロック以内に近づくと、これらの変更はオフになり、従来の速度に戻る。

最初の70kブロックは約20分でダウンロードされ、残り2000ブロックは約7分で、0%から100%までわずか27分。非常に良い!最後の2000ブロックで止める安全上の理由があるのか、それとも残り500ブロックなどに調整できるのか?

念のため言うと、各ダウンロードバーストの平均速度は約3 Mbpsだった。