2

Apologies if this is not the right place to ask for help with this, but I don't know where is.

I have a Bitcoin Core full node (Windows 11), but one that doesn't run all the time. Node is not pruned, full blockchain is on a HDD. I normally spin it up once every few weeks to catch up with the blockchain, and it used to take few/several hours, until recently...

I've been trying to sync it since the weekend, at which point it showed the last block is 6 weeks old. This was when I last spun it up after an upgrade to v.25.0 (when it synced fine, as usual).

Last weekend I spun it up again to sync and it was very unresponsive, even after the initial loading screen. Every few moments the window is unresponsive until it unfreezes for a bit, and then it repeats. Pain to navigate the GUI as it keeps freezing. At one point it wouldn't unfreeze and I had to kill the process. I then noticed v.25.1 came out and upgraded to that, but it didn't help. I also had dbcache set at 450 Mb (1.5 x the default) which used to be fine, but now increased it to 2000 Mb hoping it would help, but it didn't. Didn't change any other flags.

I had it running for most of the day today and it only synced from the last block being 6 weeks ago to the last block being 4 weeks ago in the whole day (~10 hrs). This is very unusual, but I cannot even begin to think how to diagnose the issue definitively.

Checking the resource monitor, the RAM it uses doesn't come close to the dbcache limit, mostly staying around 1 Gb or less. The main activity is reading chainstate .ldb files from the HDD and little to no writing. (Avg. reading speed is ~3 Mb/s, while my WD Black SATA3 HDD is capable of up to 6 Gb/s... HDD dashboard shows a read queue of ~120 Mb/s, what is it?). I also don't understand why it's reading those files, as I thought the blockchain (headers) was read during the initial loading screen. After the loading screen in the GUI, I thought it should be getting new blocks not verifying old ones? It did get 2 Gb of new blocks (~ 2 weeks of activity) and stopped. There is 0 network traffic. I'm having 3-4 outgoing connections and 0 incoming (inbound port 8333 is also open with port forwarding configured). Am I not getting enough outbound connections? Or did the blochckain get corrupted on a HDD?

It is still syncing as I write this, but extremely slowly with last blocks being around 4 weeks old. I also thought it might be blockchain finally growing to a size when it becomes unwieldy, it is around 600 Gb, but it used to sync much quicker only a few months ago, so I doubt it is the reason.

1 Answer 1

3

Nothing definitive, but figured out a few leads

  • Turned off the Antivirus, which might have been scanning newly downloaded files, it seemed to improve the speed, but it was still slower than expected.
  • I am not getting any inbound connections despite 8333 open with port forwarding (need to dig into firewall settings); had some more out connections today than yesterday (5-10 vs 3-4), which may also explain why it was quicker.
  • I remembered something about the recent ordinals craze, which may help explain why recent blocks are slower to process.
1
  • 2
    Your node will only start getting inbound connections when you are caught up to the chaintip, while you’re synchronizing you will only make outbound connections. Blocks have been completely full for the past seven months, and generally bigger, so you might see some slowdown due to that.
    – Murch
    Commented Nov 29, 2023 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.