So I recently decided to rebuild my fullnode1 on the same hardware (RPi4 8gb) but a larger hard drive (2 TB USB3 external SSD). It's basically the same setup as the last fullnode I built in 2022, just with a bigger hard drive.
Some observations:
- IBD took about 3 days in 2022
- IBD now, I am sitting at 7 days and only 78% synced. The progress has whittled down to only ~1-2% per day. At this rate I think it will take me another 2-3 weeks to finish initial sync.
- Looking at my hardware utilization rates, I believe CPU is the bottleneck. RAM is not being pressured nor bandwidth, but CPU is at consistently high usage.
- Progress started to slow around blocks mined in 2023. This leads me to believe it is the bloating of the UTXO set with ordinals that is now the bottleneck.
If my hypothesis is correct, it makes sense why core devs are concerned about UTXO bloat. I can't see any normie, or even most techies, who would consider it a smooth experience to wait 2-3 weeks for sync. Maybe the days of running a fullnode on a Pi are long gone
Footnotes
-
Don't ask me why I didn't just copy the blockchain from my old SSD to my new SSD. I stupid ok? Plus, I did want to try the experience from scratch a second time. ↩
dbcache=
in yourbitcoin.conf
to a number of Megabytes that still fits in your memory. Might improve performance a little.top
noticed that beyondbitcoind
theelctr
(?) contianer was taking a third of the CPU being utilized. When I get home I verify this and check out some of these diagnositic commands.wa
= wait -> waiting for disk.si
is high but not insane. What base distro are you running? I'll try to ask a friend later today because I know he was digging into this on his pi4.-dbcache=5000
. You can also increase the batch size of writes to LevelDB with-dbbatchsize=67108864
. Lastly, you can turn off script verification by setting-assumevalid=000000000000000000013e40cf3ae6464f5f99d415d6a1fb31577841103df5d8
to the hash of the block you want to re‑enable it from.