3

I am running Linux with a harddisk. Currently the blockchain is on an NTFS partition, which probably isn't the fastest. Which filesystem should I choose? As I understand it, a Bitcoin node will only ever append to the blockchain, which means I should not choose a filesystem that is optimized for e.g. fast deletion.

4
  • I would guess it doesn't matter a lot. After the block chain is downloaded and indexed, there shouldn't be a lot of I/O needed by a Bitcoin node: a random read a few times per second to check the utxo database when verifying incoming transactions, and a few hundred kb of writing every few minutes, when a new block arrives and is indexed. I would start by gathering statistics on the time the client actually spends on I/O, before worrying about which fs is best. Commented Aug 21, 2015 at 16:52
  • well, I am downloading the blockchain now and I have 100 percent disk utilization and still 20 weeks to process. And it seems that each week take a couple of hours on this Pentium 4. Commented Aug 21, 2015 at 17:18
  • How are you measuring disk utilization? My impression has been that the bottleneck in downloading is more likely to be Internet bandwidth or CPU. Anyway, the filesystem interaction is not that complicated (reading and writing a relatively small number of large files) so I'd think disk speed is a much greater issue than filesystem. It's a fair question, but my guess is that even if you use the best possible filesystem (whatever that is), it won't make much difference. Commented Aug 21, 2015 at 17:29
  • FYI: the blockchain is append-only, but blocks can be downloaded out of order and with pruning enabled old blocks may be deleted. This doesn't significantly change your considerations for choosing a filesystem, just FYI.
    – Jannes
    Commented Aug 22, 2015 at 4:09

2 Answers 2

1

Bitcoin-Core does serval read and write operations. Blocks can also get deleted in case you have enabled -prune. There are many read operations because your node will very likely serve/relay blocks to other nodes.

The performance of bitcoin-core is more likely constraint by your CPU because of heavy EC verify operations.

2
  • It's mostly single threaded, Bitcoin Core skips verifying EC signatures in early blocks to avoid taking literally a week to synchronize.
    – Claris
    Commented Aug 26, 2015 at 15:36
  • 1
    -prune will not reduce I/O operations Commented Sep 26, 2015 at 1:28
2

Linux does not support NTFS very well, any other Linux native file system will be better.

If you are using NTFS with the FUSE driver it will be very slow.

The most common Linux file system is ext4, I'd just use that :)

1
  • Yes, also NTFS gets corrupted very easily I have experienced.
    – tread
    Commented Aug 6, 2022 at 17:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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