I'm in the middle of syncing my Bitcoin wallet blockchain with the latest version of Bitcoin Core on Linux.
It's super slow, like 2 to 3 weeks for just 12 hours of syncing. My CPU and network usage are pretty low most of the time, so I doubt that's the issue. The HDD is constantly working, which I think is the real problem. I'm using a standard 7200rpm desktop HDD.
Back in the day, I could sync the blockchain on a slow 5400rpm laptop HDD without any major headaches.
Maybe it's time to switch to a bigger SSD.
But here's a thought, does syncing get tougher as the blockchain grows?
Or have there been changes in the protocol that make it harder now?
Or is the code quality of Bitcoin Core slipping?
I've also noticed that the GUI gets really sluggish during the sync process. Can't pinpoint when it started, but it wasn't always like this.
Oh, and syncing Monero is painfully slow too, but that's a whole different topic.
Bitcoin blockchain syncing really slow on HDD
19 replies 46 views
In the last 10 years there're fewer transactions in a block... now there's more.
Use the current version check the latest news section of the forum for the torrent file,
Then if you are using bitcoin-qt GUI check the dbcache increase it, it could make it sync process more faster(note the value is in MB ) this should be done carefully in accordance to your ram capacity .
Not really but yes and might depends on the hardware , people can still get it done in just 2~4 days.
Sometimes when when block index is writing to disk you might experience that and you would think it's just stall
SwiftMatr1xFull Member
Posts: 59 · Reputation: 474
#3Nov 25, 2024, 06:29 AM
It should, but the chain is not increasing as such a rate that will cause an significant lag in download time. Could be from the internet connection.
Nothing happened on the protocol level to make it harder either.
- Jay -
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#4Nov 25, 2024, 06:38 AM
You have 2 bottlenecks: RAM, and HDD speed. Both are more or less interchangeable: with 32 GB RAM and 12000 MB dbcache, your sync will go just fine. With 8 GB RAM and an SSD, the SSD is still the bottleneck. I tested both of these examples myself.
Ten years ago, the entire blockchain was only 20 GB.
Yes. The chainstate directory keeps growing, and requires more and more RAM (or a LOT of disk activity) to verify the download.
Nope. Older versions were much slower to sync.
Monero is even more demanding than Bitcoin Core, despite a much smaller blockchain.
TL;DR: get an SSD.
If you have a small SSD, put the chainstate directory on it. That will make a huge difference for Bitcoin Core. If you don't have an SSD yet, buy one. Get a decent one for best performance. It's going to largely improve your entire computing experience.
hodler2019Legendary
Posts: 2182 · Reputation: 12913
#5Nov 25, 2024, 11:48 AM
a decent i5 gen cpu say i5 8500 or newer
a 1 tb samsung ssd or bigger
16gb ram or more
a decent internet connection say 100Mbps or more
if you have all of the above you will be under 1 day
obvious that
an i7 14700
a 2tb nvme2 quality ssd
64gb ram
and a 1Gbps internet
will be faster.
In fact the second setup may be faster than the offered download speed.
I have used 200Mbps and
128gb ram
1tb nvme2 ssd
threadripper cpu
My setup was able to do 190Mbps constantly which makes me suspect my internet connection was my bottle neck
I will soon get 1gb internet and try to see how fast I can do this.
Short answer, yes. Not only each block become bigger, total UTXO keep growing.
Edit: I assume "gets longer" refers to newer blocks.
AFAIK no. New stuff (such as SegWit) solve few problem including quadratic verification time.
No. Jameson Lopp did benchmark which prove the opposite on https://blog.lopp.net/bitcoin-core-performance-evolution/.
That's true, it's known issue for few years. See this issue, https://github.com/bitcoin-core/gui/issues/299.
Thank you, for answers.
Finally, actually, I got "pro level" answers instead of just "works fine for me", "can u show ur logfiles", "just get SSD bruh".
I got a cheap RAM upgrade, set dbcache to 16GB (was 4GB or 6GB), started syncing.
At some point the GUI had stalled very badly, I could do nothing so I shut down Bitcoin-qt and it shut down cleanly. When I restarted it the blockchain was in fully synced state. So my remaining 5 weeks were synced in 2 to 3 hours, much faster than before.
I don't know if the GUI would have recovered if I had waited for some more time. Maybe I tried to use it just at the critical moment. It's unknown for now.
Monero did not get faster than before and the last 50000 to 100000 blocks seem to be much slower than anything before. I didn't find any option similar to dbcache in Bitcoin. 600 blocks/h is the speed now. Used to be 2200 blocks/h for quite long. I benchmarked different file systems and certain types were occasionally faster than that but fell to the same slow level at some point.
Maybe it's SSD time next.
5tack_cipherFull Member
Posts: 171 · Reputation: 775
#8Nov 27, 2024, 12:19 AM
how much did that setup cost you? i'm guessing around $2500. most people would be better off just buying bitcoin instead of trying to spend that money to download the blockchain. it's just going to be an ever increasing game of having to throw more and more hardware at the problem big waste of money unless you just have that stuff lying around from something else...
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#9Nov 29, 2024, 10:58 AM
Last time I synced Monero (on a server with 32 GB RAM, and HDD), the first thing it told me was to get a SSD. I couldn't do that, and eventually removed Monero because even after it was synced, the entire server felt "sluggish" while it was running.
Based on my experience, the GUI would be responsive again and show latest information. Although if you need to know latest sync progress, you could open debug.log and look for newest line which contain text "UpdateTip".
There are other parameter you could try, such as --block-sync-size, --fast-block-sync and --db-sync-mode. If you have question specifically about Monero, you should create new thread/reply on different board.
sw1ft5takeMember
Posts: 1 · Reputation: 46
#11Nov 29, 2024, 08:30 PM
I just got mine sync and its 660GB .... done in 5 days with a 3MBPS line on my phone data.
Just 16gb amd ryzen 9 7950 and 1tb ssd ext drive.
Yea, i did set the cache to 1800MB compare to originally 450MB. It does help. Even on my raspberry pi 5, i did sync it within 5 days on the same ext drive.
same core version 27.0. I think it could be the cache 450MB default setting. Try changing it and trying different setting. Hope it helps.
paul.stakeHero Member
Posts: 651 · Reputation: 3798
#12Nov 30, 2024, 01:53 AM
It depends on the transactions. If the future transactions create more UTXO than spend, then it will be worse over time, yes.
I believe it's just your HDD. It's extremely slow to download and index all that information on an HDD. Have you tried SSD?
How do you know that the UTXO keeps growing? Are there stats that support this?
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#13Nov 30, 2024, 07:22 AM
I don't keep track of UTXOs, but I have data on funded addresses. Apart from small temporary reductions (usually due to consolidation at low fees), they're generally growing in number.
The way I see it: Bitcoin gets more expensive, and more people own smaller and smaller bits of it.
It's natural that with a same cake, if there are more people know about the cake, want to have pieces of the cake, each will have smaller piece. People who have bitcoins need to take care of their bitcoins, hold their coins tightly and sit down to think of solid plans for investment, holding and personal, family financial plans.
They need very good plans to avoid of any situation that forces them to sell their bitcoins and turn their pieces to be smaller and smaller ones with time. They had chances to join the market earlier than late comers but if they don't have proper plans, they will end with no differences to late comers.
Bitcoin: Addresses Holding > X BTC by Year
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#15Dec 2, 2024, 02:58 AM
That point must be after the specific block hash set here: github.com/bitcoin/bitcoin/blob/c4d45b695ef27e21d35e886b08887e2ecf272ce7/src/kernel/chainparams.cpp#L108
But it should've recovered after it's finished with all the heavy signature script verifications.
Well, a "pro" will ask for the debug.log to look for the root of the issue instead of suggesting solutions that may not be necessary.
The reason why you're not asked for logs here is because slow sync is pretty much hardware and/or database cache issue
and the "dbcache" solution that you found is consistent in topics like this.
If you followed this format (sticky topic): [READ BEFORE POSTING] Tech Support Help Request Format
Someone pro can easily point that your ram and dbcache settings can be improved just from looking at the logs and the provided info.
I run full node, so i could run gettxoutsetinfo "none" block_height to get such data. There are few website which monitor total UTXO such as,
https://statoshi.info/d/000000009/unspent-transaction-output-set
https://www.blockchain.com/explorer/charts/utxo-count
https://utxo-stats.com/
If you read discussion about IBD with Raspberry Pi or old device, you might notice people report about slow IBD due to low RAM.
hodler2019Legendary
Posts: 2182 · Reputation: 12913
#17Dec 4, 2024, 02:49 AM
that pc was the best i ever owned.
it was serious money the threadripper alone was 2500
you dont need all that.
Any i5 intel 8500 or newer
16 gb better to have 32gb
and any good 2tb ssd. nmve 2
oh. 200. mh internet .
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#18Dec 4, 2024, 06:47 AM
This is still excessive for syncing a Bitcoin blockchain. All it does is shave a few hours off the total sync time. I'd base my computing requirements on my daily needs, not on a one-time event.
5tack_cipherFull Member
Posts: 171 · Reputation: 775
#19Dec 5, 2024, 07:28 PM
well i don't know what world you are living in but a core i5 is not excessive and neither is a 2TB storage space especially if 25% of that is being hogged up by the blockchain...
Got SSDs and tested. My conclusion is here.
So,
With HDD and maybe 4GB for dbcache, 2 to 3 weeks in 12 hours. GUI stalled badly.
With HDD and 16GB for dbcache, 5 weeks in 2 to 3 hours. GUI still stalled badly I think.
With SSD and 16GB for dbcache, 2 weeks in less than one hour. Maybe less than 30 minutes? And GUI felt less unresponsive.
Roughly, 10 times speed increase with bigger dbcache, another 2x increase with SSD and same dbcache.
My benchmarks aren't equal because I didn't have much blockchain left when I got RAM and SSD upgrades. But roughly.
With Monero,
RAM upgrade didn't help.
With HDD speed was 500 to 600 blocks/h during the final 50000 to 100000 blocks.
With SSD, speed was around 5000 blocks/h, a bit more or a bit less at times. So 10x increase in speed.
A year ago perhaps, when I benchmarked file systems, I got over 5000 blocks/h on HDD. Up to 9000 blocks/h at times. But Monero has some kind of checkpointing that speeds up syncing I think? So these cannot be compared to today's results?
It must be said that this computer is not new, and my cryptocurrency stuff are running in a virtual machine. The disk is passed to the virtual machine and I don't know how much overhead this brings.
Related topics
- bitcoin-qt sync issues and slow speeds 6
- Affordable quiet mini PC for running a Bitcoin node and blockchain explorer 19
- Using two different Bitcoin versions without messing up blockchain data 3
- Recovering a Bitcoin wallet and address 8
- Issue with Bitcoin Core Wallet after power outage 8
- Is it possible to check my bitcoin balance offline 12