比特币全节点对UTXO集合的读写压力有多大?
卡哇伊嘉人
发表于 2022-11-15 21:07:18
176
0
0
修剪模式被调整为prune=550,别的参数我都没填,默认。缓存默认应该是450MB吧,不过内存看上去是不够用的,所以log里的cache大小才只有几十MB。不过,htop里看到的bitcoind进程内存占用比例只有51%。
又看了一下iotop,看到bitcoind居然有150MB/s-160MB/s每秒的读取;写入倒是不多,只有一百多KB/s吧。
这个时候处理的是2017年4月左右的区块,每个区块大概都是1MB。* D" d7 v6 b, k% T: N$ T1 p2 Q
照这么算的话,每处理1MB区块数据,似乎就会产生255MB左右的读取负荷?
这个VPS声称用的是SSD,可能这些读取动作都是比较零碎的,在HDD上会更加糟糕吧。1 z* ^; ~% k) H4 Y( {. o
PS:觉得这些读取动作应该都是在读UTXO,因为我记得stackexchange上有答案说过:Bitcoin Core实际上没做白皮书里的那种Merkle树剪枝,而是用一个独立的数据库来放UTXO,然后启用prune其实就是简单粗暴地直接删掉老区块文件。
成为第一个吐槽的人