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.

  • 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. – Nate Eldredge Aug 21 '15 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. – Janus Troelsen Aug 21 '15 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. – Nate Eldredge Aug 21 '15 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 Aug 22 '15 at 4:09
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.

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

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 :)

    Your Answer

    By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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