Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Feature Request: The client should have a separate option for the storage location of the database data #10736
Comments
This shouldn't be necessary. I have everything on a secondary drive and have no issues with speed. |
That's not generally possible. On UNIX systems, the filesystem with binaries may not be writable by the user. I do however think it's useful to allow the chainstate to be stored in another directory from the blockchain. The former mostly needs high IOPS, the latter only needs serial read/writes. |
fresheneesz
changed the title from
Feature Request: The client should store the database data on the same drive as the program to Feature Request: The client should have a separate option for the storage location of the database data
Jul 10, 2017
fresheneesz
commented
Jul 10, 2017
•
|
Alright, I changed the name of the request to be a separate option for storage location. @corebob Sipa also mentioned that USB is probably the issue. Do you have any information you could point me to that substantiates this? I don't see any logical reason why USB would cause a bottleneck here nor does searching the googles turn up anything obvious. |
|
@fresheneesz |
jimhashhq
referenced
this issue
Jul 24, 2017
Open
New file-partiion.md doc describing how to partition files to ensure fast initial blockchain synchronization.. #10922
jimhashhq
commented
Jul 24, 2017
•
|
Hi, I just opened: pull request #10922 which adds a file-partition.md doc file which describes what I believe to be a simple interim solution to putting the large blockchain files on an external drive (like my inexpensive USB 3.0 in the example). Longer term, it might be easier if there was a configuration setting or flag for storing all of the leveldb stuff on an internal drive and/or the blockchain blocks folder on an external drive. As I mentioned in the pull request, this may not be the best way for these instructions to reach their intended audience so please feel free to redirect me. Thanks! |
fresheneesz commentedJul 3, 2017
After wondering why my bitcoin client was taking literally weeks to download the blockchain, I found out that it was going so ultra slow because I was storing the data directory on an external hard drive. After using a symlink to put the database data on my SSD and keep the blockchain stored on my external HD (via the symlink), my blockchain validation sped up by at least 6 fold. Details here: #10647 .
Anyways, because this can be so important for a non-frustrating experience for users who don't have enough SSD space, I'm requesting that bitcoin core store the database data on the same drive as the program executables, and give the user the option of only where to put the blockchain data (what is currently the
blocksdirectory within the data directory). Alternatively, we could give the user separate options for where to store the blockchain and where to store everything else, with some info about why the storage location is important.If I'd wanted to buy something with bitcoins in the last month, I simply wouldn't have been able to because my client was taking forfuckingever to sync up. Its really important to make these kinds of performance improvements idiot-proof so users with less technical savvy can use bitcoin core without rage quitting.