とある検証のために作りました。
簡易的なノード間の同期速度を比較するツールです。
インストール
github からクローン。
git clone https://github.com/ccHarvestasya/sync-speed-checker.git
中に入る。
cd sync-speed-checker
パッケージのインストール
(開発はyarnを使用しています)
yarn の場合はこっち。
yarn install
npm の場合はこっち。
npm install
接続ノード一覧作成
hostlist.txt
に比較したいノードリストを入力する。
入力数分 WebSocket で接続するので数はほどほどに…
vi hostlist.txt
実行
yarn の場合はこっち。
yarn start
npm の場合はこっち。
npm run start
実行結果
最初に来た、新ブロック通知を基準にどれだけ時間差があるか何となく計測します。
一カ所でも WebSocket の接続に失敗したり、切断すると終了します。
出力フォーマットは以下の通り。
時間差:ブロック高:ホスト名
実際動かすとこんな感じ。
harvestasya@sakia:/opt/sync-speed-checker$ yarn start
0ms: 3278827: finnel.harvestasya.com
583ms: 3278827: pasomi.net
0ms: 3278828: finnel.harvestasya.com
71ms: 3278828: pasomi.net
0ms: 3278829: pasomi.net
450ms: 3278829: finnel.harvestasya.com
0ms: 3278830: finnel.harvestasya.com
1020ms: 3278830: pasomi.net
毎ブロック1秒以上遅れてるとあまり良くない…かな?