Перейти к содержанию
  • записи
    3
  • комментариев
    10
  • просмотров
    45 519

Быстрая (до)загрузка блоков под linux


loga

4 414 просмотра

Иногда бывает так, что нужно срочно воспользоваться bitcoin-клиентом, который долго не запускался и соответственно прошло довольно много времени с момента его последней синхронизации.

 

Довольно сильно на скорость загрузки влияет скорость жесткого диска, поскольку база блоков и их индекс хранится на нем и с ними часто проводятся операции чтения/записи во время загрузки блоков. Чтобы снизить обращения к диску мы будем использовать файловую систему tmpfs, которая хранит файлы в памяти и только при ее нехватке сбрасывает их части в своп. Такой подход позволяет значительно ускорить работу с файлами, но недостатком этой файловой системы является полная потеря данных при отмонтировании или отключении питания, поэтому нам понадобится бекап.

 

Итак мы имеем стандартный клиент и linux в качестве операционной системы.

 

1. Для начала перенесем все файлы из ~/.bitcoin в какой-нибудь другой каталог:

$ mkdir ~/bitcoin-backup
$ mv ~/.bitcoin/* ~/bitcoin-backup

 

2. Под рутом смонтируем в каталог клиента файловую систему tmpfs размером 5Gb (нужно чтобы сумма свободного места в свопе и оперативной памяти была не меньшей этого значения и туда помещались все файлы клиента):

# mount none -t tmpfs /home/user/.bitcoin/ -o size=5G

 

3. Делаем копию бекапа обратно в ~/.bitcoin:

$ cp ~/bitcoin-backup/* -r ~/.bitcoin

 

4. После этого запускаем клиент и ждем синхронизации, после ее завершения не делаем с ним ни каких операций и выходим. Скорость синхронизации будет на порядок выше обычной.

 

5. Закрыв синхронизированный клиент скопируем обновившиеся файлы в бекап

$ cp ~/.bitcoin/* ~/bitcoin-backup/ -r

 

6. Отмонтируем файловую систему tmpfs (все данные на ней будут потеряны, но мы ведь их скопировали предварительно), опять же под рутом:

# umount /home/user/.bitcoin

 

7. И перенесем файлы бекапа обратно в рабочую директорию клиента:

$ mv ~/bitcoin-backup/* ~/.bitcoin/

 

8. После этого запускаем клиент и работаем как обычно.

 

Если в процессе дозагрузки блоков произошло внезапное отключение питания то не стоит расстраиваться, нужно просто повторить все шаги начиная со 2го.

4 Комментария


Рекомендуемые комментарии

Спасибо за отличную полезную статью. Сегодня попробовал, блоки действительно грузяться намного быстрее.

Ссылка на комментарий

На твердотельных накопителях(SSD) блоки тоже грузятся очень быстро.

У меня один такой уже есть.

Ссылка на комментарий

На твердотельных накопителях(SSD) блоки тоже грузятся очень быстро.

У меня один такой уже есть.

У SSD очень маленькое время произвольного доступа, так что необходимости в подобных ухищрениях нету. Но SSD или хотябы возможность им обзавестись есть не у всех и не всегда.

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...