Каковы мои ожидания относительно времени ответа IPFS? - PullRequest
0 голосов
/ 04 августа 2020

IPFS-SERVER

У меня есть демон go -ipfs, настроенный со стандартным профилем ipfs «server», работающий на linux сервер, размещенный у крупного облачного провайдера.

IPFS-CLIENT

У меня есть демон go -ipfs, настроенный с помощью ipfs профиль "по умолчанию", работающий на ноутбуке Windows 10 на моем SOHO, за NAT.

Наблюдение № 1

Когда я " publi sh "через CLI или API (ipfs name publi sh ...) multiha sh небольшого текстового файла из" IPFS-SERVER "команда занимает от 120 до 150 секунд для выполнения.

Когда я выполняю команду «cat» через CLI или API (ipfs cat / ipns / multiha sh) из «IPFS-CLIENT», выполнение команды занимает от 60 до 120 секунд.

Вопросы

Это типичное или ожидаемое время отклика для этих команд?

Есть ли какие-то настройки, которые можно внести в конфигурацию ipfs на клиенте и /или сервер, чтобы уменьшить время отклика?

Наблюдение № 2

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

Вещи, которые я пробовал

  1. Я попытался добавить «IPFS-SERVER» в «IPFS- КЛИЕНТ «bootstrap список без улучшений
  2. Я пробовал« роевое соединение »от« IPFS-CLIENT »к« IPFS-SERVER »без каких-либо улучшений

Я подозреваю участие в «publi c swarm» снижает производительность, поскольку DHT больше и требует больше времени для анализа? Или здесь задействован какой-то другой механизм? - Спасибо !!!

1 Ответ

0 голосов
/ 04 августа 2020

Во-первых, вы измеряете время ответа IPNS, а не время ответа IPFS. Есть некоторые компромиссы относительно свойства изменчивости IPNS, из-за которых он работает медленнее, чем неизменяемый IPFS. больше и поэтому разбор занимает больше времени? Или здесь задействован какой-то другой механизм?

Да, поиск по publi c swarm занимает больше времени из-за производительности DHT. Начиная с go -ipfs v0.5.0 алгоритм DHT намного более производительный, однако свойства DHT зависят от его членов, и многие из них по-прежнему работают до v0.5.0. По мере того, как все больше людей обновляется (или если есть какой-то скачок версии для протокола DHT, который фактически разветвляется от старого), все должно улучшаться.

Это типичное или ожидаемое время отклика для этих команд?

Ваши измерения кажутся на высоком уровне (я в среднем около 30 секунд для IPNS Publish / Resolve и 2 минуты в исключительных случаях), но они меня не удивляют. Примечание: время выполнения ipfs cat /ipfs/Hash должно быть намного быстрее, чем ipfs cat /ipns/Hash (если вы не используете IPNS через PubSub и издатель / ipns / Ha sh не имеет данных, на которые он ссылается, например / ipfs / Ha sh )

Можно ли внести изменения в конфигурацию ipfs на клиенте и / или сервере, чтобы уменьшить время ответа?

Если вы включите IPNS через PubSub --enable-namesys-pubsub как на СЕРВЕРЕ, так и на КЛИЕНТЕ время поиска должно СРАЗИТЕЛЬНО улучшить. В качестве бонуса IPNS через PubSub (начиная с go -ipfs v0.5.0) будет работать еще быстрее, если вы уже подключены к кому-то еще, у кого есть запись IPNS (например, издателю или другому подписчику IPNS через PubSub, у которого есть ранее полученная эта запись).

Если вы не хотите включать IPNS через PubSub, вы также можете изменить настройки для ipfs name resolve, например, установить --dht-record-count на меньшее число (например, 1, если вы ' (не так разборчивы в поиске последней версии или если данные обновляются нечасто) или установке --stream, если вы в порядке, получать последние записи по мере их обнаружения.

...