刨根问底:为啥之前的hived Replay如此之慢

Words
819
Reading
4 min
34m

还记得我在之前的文章中提到,我也与时俱进地升级自己的HIVE见证人节点到1.28.8嘛?但是升级却足足耗费我近一周的时间,原因嘛是Replay全节点超慢。

image.png
(插图由ChatGPT辅助生成)

我记得前不久Replay HIVED 1.28.7时,速度超快,好像耗时还不到24个小时,耗时一周,显然是不对的。

但是都已经Replay那么久啦,我还是决定坚持Replay完,并在分别在测试节点上测试出块,又部署到正式的见证人节点上。好在运行和出块都没问题。

当一切都完成后,我决定回头看看到底是哪里出现了问题。对比一下1.28.7和1.28.8的编译和部署流程,我发现有如下差异。

1.28.7我是在本地电脑上编译,在本地电脑上Replay,本地电脑版本是Ubuntu 22.04 LTS。

1.28.8我是在VPS上编译,VPS版本是Ubuntu 24.04 LTS,然后在本地电脑上Replay,结果无法运行,所以又升级本地电脑到Ubuntu 24.04 LTS后再次Replay。

所以,问题可能出在hived版本、Ubuntu版本、以及编译过程。

但hived版本已经好多见证人升级了,没听说谁反应Replay慢啊?至于Ubuntu版本,大家编译运行hived应该都是在Ubuntu 24.04 LTS。所以是我编译的不对嘛?

可是无论之前在本地机器上编译,还是这次在VPS上编译,明明都是同一套流程和步骤呀?

我向大佬请教这个问题,大佬说怀疑我把hived编译成了Debug版本,让我查看一下文件体积。

虽然我坚信同样的流程,不可能编译出来Debug版本,但这一看,却发现果然文件体积相差三倍。😰 看来被大佬说中了,所以说大佬就是大佬,一下子就发现问题的关键了。

虽然我升级后的见证人节点运行的好好的,但是Debug版本可能有性能问题,或者不定啥时候炸个雷,所以还是要重新部署一下的啦。

于是我又在本地重新Build了一下hived 1.28.8,然后重新Replay全节点,然后再截取出见证人节点用的数据,再部署到见证人节点上。

这期间免不了上传数据,切见证人节点的出块密钥,反正又是折腾好几个来回,好在最终都搞定啦,总算松了一口气呢。

image.png
(图源 :pixabay)

至于为啥同样的编译流程在VPS上编译成了Debug版本,我姑且称之为灵异事件吧,因为后来我手欠删除了编译目录,现在也找不到什么痕迹了,就不去再探究了。

所以刨根问底,大概只刨到了根,并没有问到底。我觉得这样很好,不然活着多累呀——嗯,虽然现在折腾得也很累。