Wednesday, July 3, 2024

The way to enhance bitcoin-qt when downloading blockchain? (very technical, dev views appreciated)

Quick and easy reply to my preliminary drawback relating to downloading the blockchain: You would possibly want higher {hardware}! 🙂

In abstract bitcoin-qt runs out of the field.
So don’t fumble round. Until you really want to.

Pruning saves disk house however will increase disk I/O.
Growing dbcache may also help however not a lot for pruning.
Each may be accomplished in config-window. Thus, no want to vary bitcoin.conf.

Plus, … I have not talked about it these days, have I? … do not use USB-Sticks! 🙂

Having that out of my means let’s dive into my “actual” query.

If we have a look at it from a queueing concept standpoint we now have three fields to think about.

  1. Enter which are the nodes you might be feasting on.
  2. Processing the place your {hardware} and configuration comes into play.
  3. Output writing to disk in our case.

Enter aspect
At first look it seem like I had issues connecting to responsive nodes.
Trying deeper into it, I discovered the sending aspect was by no means actually a difficulty.

The sending behaviour of nodes in common over an extended interval made me distinguish three principal sorts.
A number of are sending MB, some a number of KB and rather a lot simply 150 Bytes then drop out

Over time responsive nodes decrease their information charge.

Knowledge is often coming in bulks. All nodes ship in parallel many MB/s after which cease for a number of minutes. Whereas my CPU and disk are consistently busy. So it appears to be like like they’re filling one enter queue.
That is typically a normal behaviour for queued techniques. They’re pumping. That is why you have got buffers.
Seems like rising buffers is not going to assistance on my machine, since there may be already loads of headroom.

Sending at excessive information charges and slowing down over time is sensible for the nodes to distribute load on different nodes. From a purchasers view this can be a preferable behaviour too.
Though my view as a person is bitcoin-qt can enhance its dropping technique, to not hassle nodes who did their fair proportion and focus extra on nonetheless very responsive nodes.

Sending KB even considerably erratically at low information charges is not actually useful.
Since in a free community you may’t inform a node what to do, purchasers want a method to drop these nodes early.

Why do some nodes simply present as much as say good day and go away 150 behind?
In all probability a sort of handshake. However will we really want to carry them for some time?

In brief: Sure, technically there may be room for enchancment. However is it definitely worth the effort?

Processing aspect
I would say every little thing is okay. Neither reminiscence nor CPU are problematic.

Output aspect
Disk I/O is a matter, not less than for me.
As Pieter identified pruning prevents optimum caching.
I am reluctant to evaluate on this matter with out thorough understanding.
However my first method can be decreasing the variety of recordsdata concerned.

Many because of Pieter and Murch for his or her fast response. Helped rather a lot!

Suggestions and corrections extremely appreciated!

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles