Bitcoin Forum
July 28, 2024, 08:22:41 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Bitcoin blockchain sync very slow on HDD  (Read 483 times)
LoyceV
Legendary
*
Offline Offline

Activity: 3388
Merit: 17091


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
July 20, 2024, 09:23:07 AM
 #21

It must be said that this computer is not new, and my cryptocurrency stuff are running in a virtual machine.
May I ask why? I'd use a VM if I don't trust the software (such as Fork wallets). For daily wallets it's much more convenient to run them on your main system (or as a different user to separate file access).

NotATether
Legendary
*
Offline Offline

Activity: 1680
Merit: 7079


In memory of o_e_l_e_o


View Profile WWW
July 22, 2024, 05:36:20 AM
 #22

I will soon get 1gb internet and try to see how fast I can do this.

A 1Gbps line that consistently hits that speed can finish the initial block download in a couple hours as long as you also have an enterprise HDD (or SSD).
philipma1957
Legendary
*
Offline Offline

Activity: 4200
Merit: 8233


'The right to privacy matters'


View Profile WWW
July 22, 2024, 01:44:01 PM
 #23

I will soon get 1gb internet and try to see how fast I can do this.

A 1Gbps line that consistently hits that speed can finish the initial block download in a couple hours as long as you also have an enterprise HDD (or SSD).

Yeah I am thinking of doing it using this ssd

https://www.samsung.com/us/computing/memory-storage/solid-state-drives/980-pro-w-heatsink-pcie-4-0-nvme-ssd-2tb-mz-v8p2t0cw/?

Oh BTW I found a pretty good deal on an elite mini 800 g9 with an i7 14700T cpu 64gb ram and a 4tb nvme.2 ssd the eth port has a 1Gbps line

https://www.ebay.com/itm/126560449790?

this pc would pretty much be a perfect node for the next 5 years

▄▄███████▄▄
▄██████████████▄
▄██████████████████▄
▄████▀▀▀▀███▀▀▀▀█████▄
▄█████████████▄█▀████▄
███████████▄███████████
██████████▄█▀███████████
██████████▀████████████
▀█████▄█▀█████████████▀
▀████▄▄▄▄███▄▄▄▄████▀
▀██████████████████▀
▀███████████████▀
▀▀███████▀▀
.
 MΞTAWIN  THE FIRST WEB3 CASINO   
.
.. PLAY NOW ..
DireWolfM14
Copper Member
Legendary
*
Offline Offline

Activity: 2240
Merit: 4250


Join the world-leading crypto sportsbook NOW!


View Profile WWW
July 22, 2024, 05:50:04 PM
 #24

Oh BTW I found a pretty good deal on an elite mini 800 g9 with an i7 14700T cpu 64gb ram and a 4tb nvme.2 ssd the eth port has a 1Gbps line

https://www.ebay.com/itm/126560449790?

this pc would pretty much be a perfect node for the next 5 years

That's a pretty good system.  I like the size of it, too.  

My latest build was a on 1u server, which can be cumbersome if you're not set up to house servers.  Enterprise servers that have met their End of Life cycle get replaced regularly, and can be had for pretty darn cheap on Ebay.  With a 256 megabaud internet connection I was able to sync the blockchain in under 6 hours.  Syncing Monero still took a few days for some reason.

System: HP ProLiant DL360 G7 Server
Processors: 2x Intel Xeon X5650 @ 2.67GHz
Ram: 18x 4GB DDR3 (74GB total)
Storage: 4x 1TB SSD Raid 5 (2.8TB usable storage)
OS: Debian 12

The total build cost me about $330 a little more than a year ago.

  ▄▄███████▄███████▄▄▄
 █████████████
▀▀▀▀▀▀████▄▄
███████████████
       ▀▀███▄
███████████████
          ▀███
 █████████████
             ███
███████████▀▀               ███
███                         ███
███                         ███
 ███                       ███
  ███▄                   ▄███
   ▀███▄▄             ▄▄███▀
     ▀▀████▄▄▄▄▄▄▄▄▄████▀▀
         ▀▀▀███████▀▀▀
░░░████▄▄▄▄
░▄▄░
▄▄███████▄▀█████▄▄
██▄████▌▐█▌█████▄██
████▀▄▄▄▌███░▄▄▄▀████
██████▄▄▄█▄▄▄██████
█░███████░▐█▌░███████░█
▀▀██▀░██░▐█▌░██░▀██▀▀
▄▄▄░█▀░█░██░▐█▌░██░█░▀█░▄▄▄
██▀░░░░▀██░▐█▌░██▀░░░░▀██
▀██
█████▄███▀▀██▀▀███▄███████▀
▀███████████████████████▀
▀▀▀▀███████████▀▀▀▀
█████████████LEADING CRYPTO SPORTSBOOK & CASINO█████████████
MULTI
CURRENCY
1500+
CASINO GAMES
CRYPTO EXCLUSIVE
CLUBHOUSE
FAST & SECURE
PAYMENTS
.
..PLAY NOW!..
ranochigo
Legendary
*
Offline Offline

Activity: 3010
Merit: 4262


Crypto Swap Exchange


View Profile
July 23, 2024, 03:55:31 AM
 #25

A 1Gbps line that consistently hits that speed can finish the initial block download in a couple hours as long as you also have an enterprise HDD (or SSD).
My experience is that bandwidth isn't the key factor with your synchronization, because your peers are probably not going to be able to saturate your bandwidth. I've had similar performance with 2GBPS, 1GBPS and 200mbps. Most significant improvement probably came around when I got an NVMe.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
LoyceV
Legendary
*
Offline Offline

Activity: 3388
Merit: 17091


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
July 23, 2024, 12:36:28 PM
 #26

A 1Gbps line that consistently hits that speed can finish the initial block download in a couple hours as long as you also have an enterprise HDD (or SSD).
With sufficient RAM, the type of disk barely matters. All it does is save the blocks, and save chainstate when you shut it down.

ranochigo
Legendary
*
Offline Offline

Activity: 3010
Merit: 4262


Crypto Swap Exchange


View Profile
July 23, 2024, 01:30:42 PM
Merited by satscraper (1)
 #27

With sufficient RAM, the type of disk barely matters. All it does is save the blocks, and save chainstate when you shut it down.
While that is mostly true, I still find I/O to be the bottleneck at times after the default assumevalid block. With the default dbcache, my synchronization time is around ~9 hours but 20GB of dbcache brings it down to 7.5hours. That is with NVMe, when comparing SSD and HDD, the difference is far bigger.

I've also discovered one of the cons of maintaining the entire chainstate (maxing out the dbcache) recently. Having all of the chainstate in the dbcache will result in the chainstate having to be rebuilt upon ungraceful shutdown due to it not being flushed to disk. It also depends if it really is feasible to add more ram for IBD, if they have no use for all that extra ram.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
NotATether
Legendary
*
Offline Offline

Activity: 1680
Merit: 7079


In memory of o_e_l_e_o


View Profile WWW
July 25, 2024, 07:26:43 AM
 #28

With sufficient RAM, the type of disk barely matters. All it does is save the blocks, and save chainstate when you shut it down.
While that is mostly true, I still find I/O to be the bottleneck at times after the default assumevalid block. With the default dbcache, my synchronization time is around ~9 hours but 20GB of dbcache brings it down to 7.5hours. That is with NVMe, when comparing SSD and HDD, the difference is far bigger.

I've also discovered one of the cons of maintaining the entire chainstate (maxing out the dbcache) recently. Having all of the chainstate in the dbcache will result in the chainstate having to be rebuilt upon ungraceful shutdown due to it not being flushed to disk. It also depends if it really is feasible to add more ram for IBD, if they have no use for all that extra ram.

I think there is a command in Bitcoin Core's RPC that will allow you to manually flush things like the chainstate to the disk though? savemempool or something like that.  It obviously saves the mempool data but I don't know if it also saves the chainstate as well.

You could do something like gracefully shutting down the node after the IBD and then restarting it though.

ranochigo
Legendary
*
Offline Offline

Activity: 3010
Merit: 4262


Crypto Swap Exchange


View Profile
July 25, 2024, 07:30:18 AM
 #29

I think there is a command in Bitcoin Core's RPC that will allow you to manually flush things like the chainstate to the disk though? savemempool or something like that.  It obviously saves the mempool data but I don't know if it also saves the chainstate as well.
It doesn't. Chainstate and mempool are different. I'm not aware of any commands that flushes the chainstate automatically because the frequency should presumably should be governed by the dbcache capacity.
You could do something like gracefully shutting down the node after the IBD and then restarting it though.
So long as you don't suffer any hiccups during the IBD. It would be quite a pain to rebuild the chainstate again.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
LoyceV
Legendary
*
Offline Offline

Activity: 3388
Merit: 17091


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
July 26, 2024, 07:45:40 AM
 #30

You could do something like gracefully shutting down the node after the IBD and then restarting it though.
Let's say you do this, and restart Bitcoin Core. Then, your system crashes and chainstate is messed up. Don't you still need to rebuild it from scratch? Or can it continue from the block where it was last saved to disk?

satscraper
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1469



View Profile
July 26, 2024, 08:46:28 AM
 #31

I still find I/O to be the bottleneck at times after the default assumevalid block. With the default dbcache, my synchronization time is around ~9 hours but 20GB of dbcache brings it down to 7.5hours. That is with NVMe, when comparing SSD and HDD, the difference is far bigger.


True. I myself have experienced   the significant  reduction of synch time after  replacing my HDD (7200 rpm) by NVMe SSD.

 I/O value does matter when the case in hand is blockchain synchronization. Those who deny this fact were never fiddling with SSD.

BTW, the optimal value of dbcache is 1/4 RAM.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
..........UNLEASH..........
THE ULTIMATE
GAMING EXPERIENCE
DUELBITS
FANTASY
SPORTS
████▄▄█████▄▄
░▄████
███████████▄
▐███
███████████████▄
███
████████████████
███
████████████████▌
███
██████████████████
████████████████▀▀▀
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
.
▬▬
VS
▬▬
████▄▄▄█████▄▄▄
░▄████████████████▄
▐██████████████████▄
████████████████████
████████████████████▌
█████████████████████
███████████████████
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
/// PLAY FOR  FREE  ///
WIN FOR REAL
..PLAY NOW..
nc50lc
Legendary
*
Online Online

Activity: 2492
Merit: 5856


Self-proclaimed Genius


View Profile
July 26, 2024, 09:10:08 AM
Merited by ABCbits (2)
 #32

I think there is a command in Bitcoin Core's RPC that will allow you to manually flush things like the chainstate to the disk though? savemempool or something like that.  It obviously saves the mempool data but I don't know if it also saves the chainstate as well.
There are: dumptxoutset and loadtxoutset RPC commands, maybe these are the commands that you saw?
But dumptxoutset doesn't actually dump to the original chainstate, it just creates a file that can be loaded with loadtxoutset.

Although, it's useful for anyone who want to use the wallet without waiting for IBD since the loaded UTXO set (from someone/backup) will be used temporarily instead.
(currently only in RegTest, TestNet or Signet; ref: https://github.com/bitcoin/bitcoin/blob/master/src/kernel/chainparams.cpp#L176-L178)
Ref: https://github.com/bitcoin/bitcoin/blob/master/doc/design/assumeutxo.md

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
ABCbits
Legendary
*
Offline Offline

Activity: 2954
Merit: 7706


Crypto Swap Exchange


View Profile
July 26, 2024, 09:20:03 AM
 #33

BTW, the optimal value of dbcache is 1/4 RAM.

I've seen some people make this suggestion, but what are the reason behind choosing 1/4 RAM? I would rather say majority available RAM capacity or current serialized UTXO size[1].

[1] https://statoshi.info/d/000000009/unspent-transaction-output-set

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
satscraper
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1469



View Profile
July 27, 2024, 11:27:38 AM
 #34

BTW, the optimal value of dbcache is 1/4 RAM.

I've seen some people make this suggestion, but what are the reason behind choosing 1/4 RAM? I

The reason for such value is very simple. Bitcoin Core runs on machine with OS which needs RAM for its routine operations. Besides node itself perform plenty of tasks outside those ones related with its databases. Sure this value of 1/4 RAM is machines-average one, thus if one needs the best value for the given device/OS he must analyze the RAM usage before starting the synch procedure.  But if he prefer not to bother himself with such kind of analysis 1/4 RAM would be the best option for him.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
..........UNLEASH..........
THE ULTIMATE
GAMING EXPERIENCE
DUELBITS
FANTASY
SPORTS
████▄▄█████▄▄
░▄████
███████████▄
▐███
███████████████▄
███
████████████████
███
████████████████▌
███
██████████████████
████████████████▀▀▀
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
.
▬▬
VS
▬▬
████▄▄▄█████▄▄▄
░▄████████████████▄
▐██████████████████▄
████████████████████
████████████████████▌
█████████████████████
███████████████████
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
/// PLAY FOR  FREE  ///
WIN FOR REAL
..PLAY NOW..
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!