alphanetでのノード同期が非常に遅い
3 回答
- 投票
-
- 2019-03-07
ピアが少なすぎるというメッセージが表示されている場合は、ピアを追加してみてください.このスクリプトはアルファネットで機能するはずです(
jq
がインストールされている必要があります)for j in 0 1; do for i in `curl -s "http://api.alphanet.tzscan.io/v3/network?state=running&p=$j&number=50" \ | jq -r '.[] | .point_id' | xargs`; do # handle ipv4 or ipv6 numparts=$(echo $i | awk -F: '{print NF}') basenum=$((numparts-1)) port=$(echo $i | cut -d: -f$numparts) base=$(echo $i | cut -d: -f1-$basenum) formatted="[$base]:$port" echo "Connecting $formatted..." ~/tezos/tezos-admin-client connect address $formatted done done
クレジットは
このスクリプトの作成者に送られます. You could try adding more peers if you are seeing the too few peers message. This script should work for the alphanet (you need
jq
installed)for j in 0 1; do for i in `curl -s "http://api.alphanet.tzscan.io/v3/network?state=running&p=$j&number=50" \ | jq -r '.[] | .point_id' | xargs`; do # handle ipv4 or ipv6 numparts=$(echo $i | awk -F: '{print NF}') basenum=$((numparts-1)) port=$(echo $i | cut -d: -f$numparts) base=$(echo $i | cut -d: -f1-$basenum) formatted="[$base]:$port" echo "Connecting $formatted..." ~/tezos/tezos-admin-client connect address $formatted done done
Credit goes to creator of this script.
-
- 2019-03-06
T2インスタンスは、ネットワークパフォーマンスが低から中程度で、入出力操作(IOPS)用に最適化されていない汎用コンピューティングインスタンスです.Tezosは、すべてのアカウントで非常にIOを集中的に使用します.
ストレージ最適化インスタンス(H1/I3/D2)を起動してみてください.パフォーマンスが向上すると思います.
参照-
https://aws.amazon.com/ec2/instance-types/ T2 instances are general purpose compute instances which have low to moderate network performance and are not optimised for Input/Output operations (IOPS). Tezos is very IO intensive by all accounts.
Try spinning up a Storage Optimised instance (H1/I3/D2) and I suspect it will provide better performance.
-
これは確かに高速ですが、それでもかなり遅く、「接続が少なすぎます」というメッセージが表示されると、同期が完全に停止することがよくあります.t2メディアは、イーサリアムブロックチェーン全体を妥当な時間で完全に同期できるため、Tezosの要求が非常に大きいため、テストネットだけで桁違いに遅くなるとは思えません.ここでは別の要因が関係しているに違いありません.Whilst this is indeed faster, it's still pretty slow, and frequently stops syncing entirely when the 'too few connections' message pops up. A t2 medium is perfectly capable of syncing the entire ethereum blockchain in reasonable time, so I have a hard time believing Tezos is so much more demanding that it should be orders of magnitude slower on just the testnet. There must be another factor at play here.
- 0
- 2019-03-07
- AndyK
-
私はそれがそうであるように思われるけれどもそれがそれほど集中的であるということではないはずであることに同意します.コミュニティは、完全同期に必要なIOPSの種類を実際に判断するために、いくつかのベンチマークを実行することで恩恵を受けるでしょう.I agree it shouldn't be the case it is that intensive however it seems to be. The community would benefit from some benchmarks being run to determine actually what sort of IOPS does a full sync need.
- 0
- 2019-03-07
- xtzbaker
-
AWSi3.largesは、特にNVMe SSDの優れたパフォーマンスにより、ベーキングに最も効果的なインスタンスであるとパン屋から言われました.また、ディスクのパフォーマンスは通常、VPSのボトルネックであることがわかりました.I was told by a baker that AWS i3.larges are the most effective instances for Tezos nodes, especially for baking due to the great performance of NVMe SSDs. I also found that disk performance usually is the bottleneck on a VPS.
- 0
- 2019-03-21
- cryptodad
-
- 2019-03-07
解決策:インスタンスタイプの変更
Alphanetのノードを同期しているときに、T2.microからT3.xlargeまでの複数のインスタンスを試しました.
ある時点で、RAMサイズまたはネットワークパフォーマンスがここで役割を果たす可能性があると思いました.しかし、T3.xlargeインスタンスでさえ、ノード全体が高速に同期されるわけではありませんでした.
本当に役立ったのは、インスタンスタイプを定期的に変更することです. ノードが開始されたばかりの最初の段階で、ノードの同期がはるかに高速であることに気付いたかもしれません.その後、しばらくすると、再び非常に遅くなりました.
AWSインスタンスタイプがさらに大きくなると、この操作を1回のテイクですばやく完了できないことがわかりました.
計画は次のとおりです.
- パン屋、支持者、告発者を停止してから、ノード自体を停止します
- t2.mediumインスタンスを停止します
- インスタンスのタイプをt2.smallに変更します
- t2.smallインスタンスを開始します
- ノードを起動してから、ベイカー、エンドーサー、告発者.開始中 これらのプロセスは、出力をログファイルにリダイレクトすることを忘れないでください それぞれ:tezos.log、baker.log、endorser.log、accuser.log
- 新しいブロックが新しいブロックで同期される速度の監視を開始します
インスタンス.
tail -f tezos.log
を使用します.その新しいインスタンスのブロックを覚えておく必要があります から始まりました - しばらくそのままにしておきます.後で来て、ノードを開始してから同期されたブロックの数を確認することをお勧めします.正しく思い出せば、選択したインスタンスによって異なりますが、最大10000ブロック程度の速度で同期される可能性があります.たとえば、t2.smallの代わりに、t2.largeを選択した可能性があります.
- 同期プロセスが最終的に遅くなる場合は、操作をもう一度繰り返します.今回はt2.smallからt2.mediumに移行します.それはあなたに速く同期された別の10kブロックを与えるでしょう.
このアプローチは機能しましたが、手動による介入が必要でした.
PS:より良い結果を得るには、上記のt2.small +t2.mediumではなく、t2.large +t2.mediumを変更ペアとして使用できます.しかし、違いは重要ではありません.
solution : instance type changing
while syncing the node for Alphanet I have tried multiple instances : from T2.micro to T3.xlarge.
At some point I thought that RAM size or Network performance may play a role here. But Even T3.xlarge instance did not bring the whole node synced fast.
What really helped is changing the instance types periodically. You may have noticed that node is syncing much faster in very beginning, when it just started. Then, after some time, it became very slow again.
I've made an observation that even bigger AWS instance type won't allow you to finish this operation fast in one take .
The plan may be:
- Stop the baker, endorser, accuser and then stop the node itself
- Stop the t2.medium instance
- Change the type of your instance to t2.small
- Start the t2.small instance
- Start the node and then baker, endorser, accuser. While starting these processes do not forget to redirect the output to log files respectively: tezos.log, baker.log, endorser.log and accuser.log
- Start watching how fast new blocks are getting synced on a new
instance. Use
tail -f tezos.log
. You have to remember the block that new instance has started from - Leave it alone for sometime. You may want to come later and see how many blocks have been synced since you started the node. If I recall correctly, it may sync very fast up to 10 000 blocks or so, though it depends on the instance you have chosen. Instead of t2.small, you may have selected t2.large for instance.
- When sync process will eventually slow down, repeat operation again. This time migrate from t2.small to t2.medium. It will give you another 10k blocks synced fast.
This approach worked, though it required some manual interventions.
PS: for better results you may use t2.large + t2.medium as a changing pair, not t2.small + t2.medium as described above. But the difference won't be significant.
-
TXインスタンスの初期の良好なパフォーマンスが徐々に低下するのは、これらのインスタンスタイプが、IOとCPUを一時的に増やして、短期間の増加したアクティビティに対処できるように設計されているためだと思います.これはバーストと呼ばれ、より平凡なパフォーマンスに戻る前に短時間しか持続しません.持続的なIOまたはCPU負荷の場合、異なるインスタンスタイプが必要です.これは確かにノード同期の場合です.I suspect the reason you see initial good performance on the TX instances that slowly degrades is because these instance types are designed so they can temporarily increase their IO and CPU to deal with small periods of increased activity. This is called bursting and only lasts for a short time before reverting to a more mediocre performance. For sustained IO or CPU load a different instance type is required. This would certainly be the case for a node sync.
- 0
- 2019-03-07
- xtzbaker
-
上記のAlphanetDBを使用して次のエラーを受信します. 3月7日09:25:47-node.main:Tezosノードを開始しています... 3月7日09:25:47-node.main:ローカルピアの検出はありません. 3月7日09:25:47-node.main:ピアのグローバルID:idrJtoLevBnyf6ZzUqcmyGBFKUssa7 3月7日09:25:47-node.worker:ブートストラップチェーン.. tezos-node:エラー: ストアにキーがありません:chain/8eceda2f/genesis/hashReceiving the following error using the Alphanet DB above: Mar 7 09:25:47 - node.main: Starting the Tezos node... Mar 7 09:25:47 - node.main: No local peer discovery. Mar 7 09:25:47 - node.main: Peer's global id: idrJtoLevBnyf6ZzUqcmyGBFKUssa7 Mar 7 09:25:47 - node.worker: bootstrapping chain... tezos-node: Error: Missing key in store: chain/8eceda2f/genesis/hash
- 0
- 2019-03-07
- AndyK
そこで、AWS EC2t2.mediumインスタンスにTezosノードをセットアップしました.こちらの指示に従いましたが、メインネットの代わりにアルファネット.
私は次のことを達成しました: ./tezos-node run --rpc-addr:8732
実行中、同期中ですが、非常に遅いです.数時間の実行で、「clientgettimestamp」から返されたデータは1日か2日だけ前に進みました.また、次のようなメッセージを頻繁に受け取ります p2p.maintenance:接続が少なすぎます(5)
トラフィックがブロックされていないことを確認するために、インスタンスに出入りするすべてのポートを開いてみました.違いはありません.どうしましたか?何を変更する必要がありますか?