<p>As you've discovered, Bitcoin Core is almost optimally non-performant on shared servers. </p>

<ul>
<li>The majority of the work done is on a single core, so measuring the total utilization of the CPU is not a good measure.  Database operations are necessarily single threaded, and the majority of the work in the early parts of the chain are entirely consumed by this. </li>
<li>Bitcoin Core is sensitive to disk speed and latency for some operations, which shared servers are often starved of resources for. EC2 especially is well known for atrocious IO performance in even moderately sized instances, other low cost providers suffer similarly. </li>
</ul>

<p>Security issues with delegating your private material to a third party not withstanding, the best performance is going to be on a dedicated piece of hardware that is not EC2. Otherwise increasing the amount of <code>dbcache</code> increases performance to a degree (more than a couple of gigabytes will not help), but this will not resolve CPU resource starvation which is common for shared hosts.</p>

CC BY-SA 4.0
2020-02-06T10:48:26.810Z
2020-02-06T10:48:26.810Z
Claris
<p>I am running <code>bitcoind</code> version <code>0.19.0.1</code> on different cloud providers and it gets very slow at some point. After 300k blocks, CPU drops from ~90% to 5% and network usage drops to a minimum. I've tried in a medium size droplet at Digital Ocean and t2.small on AWS.</p>

<p>In the latter, IO operations in the HDD are at a good throughput. My configuration is by default.</p>

CC BY-SA 4.0
2020-02-05T23:13:22.230Z
If you have enough RAM, try increasing `dbcache`, that should speed things up for you
chytrik
<bitcoind><synchronization>
How to speed up first sync bitcoind?
AntMor
# How to speed up first sync bitcoind?

(Asked by: username_0 on 2020-02-05)

I am running `bitcoind` version `0.19.0.1` on different cloud providers and it gets very slow at some point. After 300k blocks, CPU drops from ~90% to 5% and network usage drops to a minimum. I've tried in a medium size droplet at Digital Ocean and t2.small on AWS.

In the latter, IO operations in the HDD are at a good throughput. My configuration is by default.

**Tags:** bitcoind, synchronization

> **Comments:**
> **username_1**: If you have enough RAM, try increasing `dbcache`, that should speed things up for you  

---

## 1 answers

### Answer by username_2 on 2020-02-06. Score: 2

As you've discovered, Bitcoin Core is almost optimally non-performant on shared servers.

* The majority of the work done is on a single core, so measuring the total utilization of the CPU is not a good measure. Database operations are necessarily single threaded, and the majority of the work in the early parts of the chain are entirely consumed by this.
* Bitcoin Core is sensitive to disk speed and latency for some operations, which shared servers are often starved of resources for. EC2 especially is well known for atrocious IO performance in even moderately sized instances, other low cost providers suffer similarly.

Security issues with delegating your private material to a third party not withstanding, the best performance is going to be on a dedicated piece of hardware that is not EC2. Otherwise increasing the amount of `dbcache` increases performance to a degree (more than a couple of gigabytes will not help), but this will not resolve CPU resource starvation which is common for shared hosts.


---

