i have an issue that the synchronisation is very slow. i am 14 weeks behind and it takes 12 weeks to get it synced regarding the client. rate is only 0,01%. I have a fast broadband and no other issues with this pc, it should be able to load the whole blocks in a few hours. Average transfer is like 0,5 KB/s Any Idea what the issue might be? Iam running v0.14.2 and the number of outgoing connections is 3. I have already changed cash memory to 800 MB but that doesnt change anything.

  • How many incoming connections do you see? Are you on Windows, Linux, or macOS? For what it's worth, I have the same problem. I'm on 0.4.2 on Windows 10 on a 100 Mbit/sec network connection. The first approx 25% of the blockchain synced quickly, but things got very slow after that. I receive a new block about every 20 seconds. Approx 2 incoming, 4 outgoing connections. – royco Aug 31 '17 at 18:48
  • I use it on Windows 8.1. I have 8 outgoing connections now (i needed to delete one blockchain file because a seperate issue after i have asked this question). Currently it takes 3 years to download everything which is nonsense. – michL Sep 1 '17 at 18:56
  • It is probably not the actual downloading of blocks that is making it slow. From personal experience on a 2.5GHz Core i5 notebook running Bitcoin Core v0.15.1, it took more than five days to do the initial sync. Most of the slow seemed to be validating blocks. It was certainly nowhere near as slow initially, so I suspect a BIP has activated somewhere along the blockchain that causes validation to execute slowly after that. I did notice it seemed faster for a while if I safely exited and let Bitcoin Core shut down nicely before starting it up again. – Willtech Jan 30 at 10:40
  • Hi Willtech, thank you. It turned out that Bitcoin Core does not work very well with network drive. I have mapped the data since with iscsi and this worked fine. Still all the syncing is slow in general by design which is bad, but there seems to be nothing to get around it. – michL Jan 31 at 13:12
  • @michL Thanks. That would do it. If my answer below has helped you I would appreciate it if you would mark it as accepted so that the question does not remain "unanswered". – Willtech Feb 2 at 9:06
up vote 2 down vote accepted

Bitcoin Core sync very slow

Bitcoin Core is capable of full sync in a relatively short period of time depending mainly on the hardware.

Most of the work done is not actually downloading the blocks, it is validating them and every transaction that they contain. It not only depends on downloading the blocks but also on the quantity and complexity of every transaction. The downloading of the blocks themselves is usually not an issue if you are connected (outbound) to several nodes. I am able to download blocks generally in forty-five seconds each (which includes the request time etc. and validation as well as the transfer) when I have been offline and am catching up on my restricted local 256Kbps link. My upload speed is low, and latency is high. At the rate of one block per forty-five seconds, it would currently take over two-hundred-and-sixty-three days to complete the whole blockchain as there are more than 506822 blocks as of writing.

From my personal experience, the initial sync actually took over five days to complete on a 2.5GHz Core i5 notebook with 4GB of RAM running Fedora with Bitcoin Core v0.15.1. For that, I used ADSL2+ and never perceived the actual downloading of the blocks to be the issue.

Performance of initial sync

Performance of initial sync largely comes down to the individual performance of your computer, provided your internet is fine.

Always use the latest release version of Bitcoin Core (includes bitcoin-qt and bitcoind) downloaded from the official site at www.bitcoin.org. An upgrade is safe and easy, just safely exit Bitcoin Core first and make a new secure backup of your wallet.dat before you upgrade.

Adjusting parameters

There are some parameters that you can look at and consider depending on your system. Always make a backup of your wallet before making any changes. The parameters can be entered at the command line or generally in your bitcoin.conf file, which you would need to exit and restart Bitcoin Core in that case to see the effect. Some things to consider that could make a difference:

I am presuming here that you are running bitcoin-qt which is the GUI version and not bitcoind.

If parameters are used in the bitcoin.conf file, omit the leading -.

  • -datadir= You could have your datadir on a fast drive. If you move your whole .bitcoin folder you will need to specify this parameter on the command line. Note that if you change your datadir and do not copy the .bitcoin folder over to the new location first, it will create a new wallet and begin downloading the blockchain again from the start.
  • -dbcache= The default for this is 450. If you have 8GB of RAM, you could easily set this to 4096
  • par= The default for this setting is auto, but I do not know what the automatic setting does. You could try setting this to -1 which leaves one core free.
  • -banscore= You could try setting this to 10 to kick off misbehaving nodes sooner.
  • -listen= You could temporarily set this to 0 to disable incoming connections while you get the initial sync done. Your busy node does not need the additional work.

After the initial sync, you can revert these settings to their defaults but probably leave your datadir wherever you put it.

Some of these parameters are available as options in the bitcoin-qt Settings > Options menu.

TLDR; The short answer if you want it fast is, get a fast computer, loads of RAM, a fast HDD and, fast internet. The same as anytime you want anything fast on a computer.

In the real world, and from personal experience, using an SSD increased sync speed more than 10x on my example system from the performance noted above.

Anecdotes

Real life example of varying system performance: I know someone personally who had to work on a quite large, but not extraordinarily large, Illustrator file. He opened it on his ~12-month-old upper spec Mac which usually performs great and, it was virtually unusable (slow to respond). Just for kicks he thought he would try the same file on a bog standard PC, opened it in Illustrator and it was completely normal. Some hardware/software builds have bottlenecks for some processes. The opposite result is probably true for some operations.

Also note, I have observed that exiting and restarting Bitcoin Core during initial sync seems to speed it up a bit for a while once it connects to nodes again.

Referencing again personal experience, syncing on Windows 10 64-bit seems to be orders of magnitude faster than syncing on Linux on the same hardware - even if Windows is running in Gnome-Boxes, it easily churns through 100 blocks per second during the initial stages of download.

Alternatives

If you are in serious trouble waiting to sync Bitcoin Core (a full node client) and you do not need the additional features that Bitcoin Core provides then, you may consider trying Electrum (not a full node client) which does not need to do the initial sync. On Fedora 27, getting Electrum is as simple as sudo dnf install electrum.

I guess your computer is too slow.

Use the latest release (0.15.1 for example) and don't change cache values unless your RAM is less than 8 GB (800 MB is less than the default setting so by setting that you actually made it worse).

  • Looking at Bitcoin Core v0.15.1 it says that the default for dbcache is 450MB – Willtech Jan 30 at 10:46

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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