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