以太坊 geth 同步始终落后的问题

博主遇到以太坊主网节点同步慢的问题,归因于机械硬盘的随机读取性能不足。通过更换1TB M2硬盘作为Datadir,并将Freezer数据存至机械盘,成功解决了同步问题。在12小时内完成了14000000区块的同步,显著提升了效率。

自己搭建了一个主网节点,同步始终落后 120 - 60个区块之间,整整一周都这样,网上各种查找方案,最后确定问题在磁盘上

主要问题:机械硬盘随机读取性能太低,SSD 足够,但是现在SSD比M2只便宜一点点,性价比太低,直接上M2

!!!别不信邪,真就是硬盘问题,我刚开始的时候以为用机械硬盘然后对geth调参就可以解决,最后发现不行,读写速度跟不上

遂增加了一块 1TB.M2 硬盘作为 Datadir 存储盘,Freezer 数据放到机械盘

注:以太坊每 3 个纪元固化一次数据到 Freezer ,也就是 3 * 30000 区块

截至到目前 2022年6月23日 ,区块高度 15008654

同步模式 snap

DataDir 占用 216.65 GB

Freezer 占用 334.19

换盘后差不多12个小时 14000000 区块就同步完成

geth 配置命令行如下,datadir.ancient 为 Freezer 目录(HDD),datadir 为数据库目录(M2)

--datadir  "/nvme/ethereum/main" --datadir.ancient "/data/ethereum/main"

在 geth 同步过程中,状态数据的处理阶段(尤其是状态树的构建、更新和验证) 是最依赖固态硬盘(SSD)性能的关键步骤。这一步也是机械硬盘(HDD)最容易 “掉链子” 的环节。

区块链同步不仅需要下载区块(包含交易记录),更核心的是维护全网账户状态(比如每个地址的余额、智能合约的存储数据等)。这些状态数据通过一种特殊的数据结构 ——Merkle Patricia Tree(默克尔帕特里夏树) 组织和存储,其特性直接导致了对存储设备的极端 IO 需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值