Почему загрузка блоков занимает больше времени и дольше?

Во-первых, это действительно нужно исправить. Я загружаю блоки в течение как минимум 8 часов, и это все еще не сделано. Я знаю, что проблема загрузки всей цепочки блоков работает, но я чувствую, что она уже вышла из-под контроля. Настройка приложения должна занять то, что вы могли бы измерить за считанные минуты, а не часы или дни. (Проведя всю ночь, сейчас уже 4:15, я бы оценил время настройки как два дня ).

Также загрузка может быть значительно оптимизирована, как есть. Это далека от использования моей максимальной скорости загрузки, и подключение к одному одноранговому узлу так же быстро, как и к 8+ (yup, также попробовал переадресацию портов).

Теперь, ontopic.

Нормально ли, что загрузка блоков идет медленнее, чем дальше вы продвигаетесь? Первая половина (из 194 000) прошла мгновенно, после чего все становилось все меньше и меньше. Теперь, когда осталось 20 000 блоков, прогресс приходит во время всплесков, но легко может быть 20 секунд бездействия, а когда он разрывается, это похоже на 10 блоков.

Это нормальное поведение? А также, почему количество соединений не влияет на скорость вообще? Если он работает как Bittorrent, и некоторые из них описывают его работу, он должен ускориться с большим количеством людей, которые могут загружать вас (больше соединений).

У меня Googled, но все, что я нашел, это то, что требуется несколько часов и что он может застрять. Он не застрял и не дожидался, пока люди это описывают, но мне просто интересно, нормально ли, что он идет медленнее и медленнее, и почему он не насыщает мою загрузочную способность (например, BitTorrent) независимо от того, сколько соединений.

Спасибо

41 голос | спросил Luc 17 AM00000060000002331 2012, 06:15:23

6 ответов


15

Хорошо, сочетая ответы и то, что еще я наблюдал:

  • Скорость блоков замедляется, потому что более поздние блоки больше. Количество оставшихся блоков на самом деле не является хорошей мерой для расчетного времени.
  • Вы можете сделать оценку на основе того, сколько данных загружено (сколько времени) и сколько данных осталось: на момент написания мои файлы blk000x.dat составляют 8,3 ГБ (10 февраля 2013 г.).
  • Я не могу сказать ничего о том, как быстро размер данных будет увеличиваться, возможно, кто-то может прокомментировать это для будущих читателей.
    Обновление: . Кажется, он растет довольно быстро, возможно, линейно с количеством транзакций на блок
  • Причина, по которой он не максимизирует скорость загрузки, заключается в том, что на самом деле он делает много других вещей для проверки транзакций.
  • Загрузка zip с ночными файлами blk000x.dat происходит намного быстрее, но копирование файлов не сработало ... В итоге я просто оставил его за несколько часов. Также см. Комментарий об ошибке, которая может возникнуть при наличии ошибки в файлах (намеренно или нет).
  • Зашифрованные файловые системы заставляют его работать еще дольше, потому что проверка блоков является процессом с интенсивным использованием диска.
  • Если вы можете использовать SSD , это значительно ускорит его. Вы можете сделать это за несколько часов, а не всю ночь.
  • Обычно этот процесс занимает некоторое время. 24 часа не редкость. Лучше всего оставить свой компьютер в ночное время, и не разочаровывайтесь, когда это еще не сделано утром.

Надеюсь, это помогло! Кредиты на другие ответы для некоторых пунктов.

ответил Stephen Gornick 17 AM00000070000000531 2012, 07:16:05
22

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

Поскольку с апреля больше транзакций (благодаря SatoshiDICE, теперь мы видим 40K и больше транзакций в день), эти блоки занимают больше времени, чтобы проверить.

Если вы находитесь в зашифрованной файловой системе, это будет действительно вредно для производительности. Если это так, подумайте о перемещении блока и индекса в файловую систему, которая не зашифрована, а затем символически привязана к ним.

Кроме того, последняя версия клиента Bitcoin.org (v0.6.3) имеет улучшения в этой области по сравнению с предыдущими выпусками.

Конечным пользователям обычно не нужно запускать клиент и вместо этого использовать SPV ( Упрощенная проверка платежей) . Таким образом, люди и организации, которые хотят запустить полноценного клиента, должны признать, что для этого требуется мощный процессор и быстрое хранилище (например, SSD).

В будущей версии (после 0,7) будет включен LevelDB, который должен добиться огромных успехов в производительности.

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

ответил Stephen Gornick 17 AM00000070000000531 2012, 07:16:05
6

Да, это нормально для того, чтобы скорость приема блоков уменьшалась по мере продвижения загрузки.

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

Клиент Bitoshin Satoshi по-прежнему является бета-версией, и даже если это не так, все равно может потребоваться загрузить весь блокчлин, который, по моему мнению, превышает 2 ГБ.

На какой платформе вы работаете клиент? Вы должны иметь возможность оценить, сколько данных осталось загрузить, просмотрев файлы цепочки на диске в папке .

Похоже, что скорость жесткого диска также может быть значительным фактором, так как проверка каждого блока выполняется по мере его загрузки и может быть сложной для транзакции со многими входами. Обсуждение здесь . dooglus дает доказательства этой теории путем тестирования с помощью RAM-диска и значительного сокращения времени загрузки.

ответил Highly Irregular 17 AM00000060000005331 2012, 06:46:53
5
  1. Перемещение blkindex.dat, скажем, приводу ram значительно улучшает производительность биткойна /биткойна. Просто обратите внимание, что текущий показатель составляет около 1,5 ГБ.
  2. Следующая версия 0.8, как уже говорилось, использует новую базу данных вместо BDB, и это работает намного быстрее и не нужно перемещать в привод ram или что-то в этом роде.
ответил Stanislav German-Evtushenko 13 Jpm1000000pmSun, 13 Jan 2013 22:55:17 +040013 2013, 22:55:17
4

Я как-то понял, как повысить производительность на ext4 /linux:

http: //tlfabian.blogspot. Hu /2013/04 /превышение скорости вверх-Bitcoin-кварты-на-linux.html

ответил netom 3 AMpWed, 03 Apr 2013 09:22:36 +040022Wednesday 2013, 09:22:36
0

Биткойн - это P2P, как BitTorrent. Вероятно, это связано с тем, что ваш компьютер медленно проверяет блокировку при загрузке. Большая часть работы - это не загрузка. Этот ответ может вам помочь.

ответил Willtech 2 FebruaryEurope/MoscowbFri, 02 Feb 2018 12:13:03 +0300000000pmFri, 02 Feb 2018 12:13:03 +030018 2018, 12:13:03

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132