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

人物: knightmb
サトシ・ナカモトの投稿(2010年7月23日 09:24 UTC)

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

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

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

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

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