~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest7184
Leopold
Most2
Nausicaa
Ruskoye_911
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
un
weko_
whothefuckami
onon
Сейчас подумаю
onon
Вроде мы 320 потеряли и ретрансмит уже будет 321 тагом
onon
Надо по коду посмотреть, что мы делаем в иаком случае
orignal
меня интересуют сколько максимально мы можем выплюнуть без подверждения?
orignal
отсюда и надо плясать
onon
Если последним пришёл акк, то максимальный размер окна. Потом через RTO начинает слать по 1му пакету в разные туннели всего 10 попыток
onon
А если накк, сейчас посмотрю
onon
А если накк, то будет отправлять неподтверждённые пакеты, пока не случится RTO
orignal
а если не случится никогда?
onon
RTO это RTT*1.5 грубо
onon
т.е. ещё половина окна максимум
onon
А потом ещё +10
onon
Хотя нет, погоди
onon
Если последний был накк, мы сразу окно сбрасываем
onon
Хотя нет, тоже не всегда
onon
Что-то я туплю
orignal
идеально что надо
onon
Погоди
orignal
когда стрим получает большой поток то как то опрделеять что поток большой поток и увеличивать число тагов для сесии
onon
Ну так входящую скорость считай
onon
И генери с небольшим запасом
orignal
ну вот я про это
onon
Да, если мы потеряли пакеты меньше чем 0.5RTT от последнего накка, то он сначала будет отправлять из буфера до полного окна, а потом начнёт ретрансмитить неподтверждённые
onon
Т.е. окно + кол-во неподтверждённых+10
onon
Максимальное количество наков 255 вроде
onon
Но это прям крайний случай
orignal
ну и сколько же ставить размер окна или чисто тагов?
onon
Наверное 200 получается
onon
За один RTT мы отправим 200
onon
Потом максимум 100 ретрансмитов
onon
И 20 остаётся на пробы через другие туннели
onon
(320-10)/1,5
onon
206 если точно считать
orignal
ну давай поставим 200
onon
Ну давай пока так
orignal
MAX_WINDOW_SIZE
orignal
вот этот?
onon
Но с этим надо что-то думать, так смысла нету
onon
С таким маленьким окном
onon
Да
orignal
так давай лучше число тагов поднимем
orignal
это ж наш выбор
onon
Я ава клиенты что?
onon
Ява?
orignal
а что с ними?
orignal
с их 128 какие наши проблемы?
onon
Ну так у них же 320 будет
onon
Если сервер i2pd а клиент ява
orignal
их проблемы если захотят большой поток
orignal
пусть у себя правят
orignal
такое окно оно же только на высоких нагрзуках
onon
На длинных туннелях такое окно
orignal
но ставить сильно много тоже нельзя
orignal
потому что будет долго ключи считать тогда
onon
Я в тестах слал 0,5 мбайт/с через самые длинные туннели
onon
Там RTT около 3,5 сек
orignal
давай ближе к делу
onon
Я просто говорю, что если нужна большая скорость на длинных туннелях то большое окно необходимо
orignal
ну вот ты скажи какое окно и сколько тагов надо
onon
Если мы примем за максимальную скорость 5мбайт/с
onon
И RTT на самых длинных туннелях за 5 сек
onon
То получается размер окна 15058
orignal
нет столько не нало
orignal
цифры должны быть разумеными
orignal
я думаю 500 нормально
onon
Ну вот давай вводные параметры
onon
Какую скорость мы хотим
onon
И на какой длине туннеля
onon
На стандартных 3-хоп туннелях с обоих сторон RTT обычно 1-1,5
onon
Если через них гнать 5 мбайт получится 4517 размер окна
onon
Примерно конечно
onon
На 500 на стандартном туннеле будет 566-850 КБ/с
orignal
в районе мегабайта в секунду
onon
А тагов получается нужно примерно в 1.5 раз больше чем окно
orignal
предлагаю масмильаное окно 500 а тагов 800
onon
Давай уже 512 тогда
onon
Чтоб красиво =)
orignal
можно 512
orignal
а тагов 800 тоже кратно 160
orignal
договорились короче
orignal
счас там NTCP2 дочиню
onon
С таким количеством тагов у пользователей малинки/апельсинки перегреваться не начнут?
orignal
нет это мизер
orignal
это ж не 64K ))
orignal
кроме того там не сразу сторлько
orignal
это максимум
onon
Так а в чём проблема сделать это число тагов больше?
onon
Оверхед большой будет?
onon
Т.е. мы же не всегда работаем с максимальным размером окна
orignal
никакой
orignal
просто зачем считать лишнее
orignal
дед же сказал что у сигнала вообще 5K
onon
Да, заодно тогда сделай пока MIN_WINDOW_SIZE = 2;
onon
Там ещё в коде возможно нужно будет дополнительные проверки сделать, я на выходных посмотрю
orignal
хорошо 2, 512 и 800
acetone
Vort: notabug.org/acetone/samty#5-automatic-connection-handling добавил "трехстрочную" обертку для автоматического приема входящих подключений
orignal
сделал
Vort
acetone: не 7 ли хопов максимум? uint8_t outboundLength = 3; // Possible correct values: 0-8
Vort
постоянно с этой путаницей в i2p сталкиваюсь
onon
8
Vort
onon: проверял?
onon
32 узла тоннели проверял
onon
16+16
onon
По 8 на вход и на выход
Vort
странно тогда, почему в java доках указан максимум 7
Vort
"Inbound tunnels must be built with an extra record for the originator"
Vort
попробую у себя на узле воспроизвести 8 туннелей
Vort
8 хопов*
Vort
подтверждаю, что 8 хоповые туннели у меня строятся
Vort
значит, вопрос к java
Vort
"The maximum number of hops in a tunnel is 7"
Vort
github.com/i2p/i2p.i2p/blob/4e20380a95611efbd55b07249051bb22d1b09f91/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java#L87-L88
Vort
в коде идёт отсылка по сути вот сюда: geti2p.net/en/docs/tunnels/old-implementation
Vort
"They may vary in length from 0 hops (where the gateway is also the endpoint) to 7 hops (where there are 6 peers after the gateway and before the endpoint)"
Vort
но при этом "Note: Obsolete - NOT used! Replaced in 0.6.1.10"
Vort
забыли поменять лимит в коде что ли? маловероятно
`
Vort, для тех, кто не перейдёт по ссылке, какой там лимит у коде? Если есть вообще..
Vort
else if (length > 7) length = 7; // as documented in tunnel.html
Vort
@return randomized number of hops 0-7, not including ourselves
`
acetone_, есть скилы привести в рабочее состояние библиотеку торрентов, где SAM стоит..раком..?
Vort
`: хехе. я тоже об этом подумал. но убеждать в чём-то arvidn - будет непросто
Vort
особенно убеждать внедрить стороннюю либу :))
`
Vort, а Вы-с, SAM допилить в библиотеке торрентов не созвонитесь?🧐
`
😏
`
*не соизволите-с
`
Хотя бы одну торрентилку на крестах, а не говняве и ґоу.
Vort
меня пугает эта идея как по социальным, так и по техническим причинам
Vort
но, может, acetone не такой пугливый :))
`
Vort, почему?
`
По техническим понятно. А социальным почему?
Vort
по техническим - код какой-то путаный. очень легко сломать и не понять, что это произошло
`
Ацетон сколько кресты тыкает..года жва-сри может..
Vort
по социальным - даже в отношении серьёзных багов у arvidn какая-то вялая реакция
Vort
100% загрузки CPU? даже отреагировать не соизволил: github.com/arvidn/libtorrent/issues/7535
`
Странно, это ведь библиотека всех трениров?
`
Торрентов
Vort
не всех, но многих
Vort
но это разработчику можно ничего не делать, авторы багрепортов же должны постоянно проявлять активность, иначе отчёт закроет специальный бот
Vort
"<~orignal> потому что будет долго ключи считать тогда" если у юзера спросить, что он хочет - долго посчитать ключи и получить скорость 5 мегабайт/сек или быстро посчитать ключи и получить 500 килобайт/сек - что он ответит?
flumental
если вопрос ко мне то в многохоповой системе пинг очень важен, у меня вот половина сайтов регулярно выдает timeout и приходится обновлять
Vort
таймаут значит, что вообще ничего не дошло. я думаю, что это отдельная от скорости проблема
flumental
не, половина картинок успевает прогрузиться а потом браузер выводит баннер мол таймаут, обновите страницу
flumental
хотя я тут глупый могу ошибаться
orignal
Vort так о том и речь
orignal
flumental так вот надо смотреть логи почему так
orignal
что приходит какие ошибки
Vort
orignal: по-другому спрошу. в каких случаях перегрузка из-за расчёта ключей станет заметной для юзера?
orignal
ну там еще и память
orignal
потому что каждый таг хранится в таблице
orignal
думаю что ни в каких потмоу у сигнала 500K
orignal
*5K
Vort
теги они для каждого стрима или для каждого дестинейшена генерятся?
Vort
плохо помню подробности
orignal
джля каждого маршрута у деситнейшина
orignal
на нем сидеть может многно стримов
Vort
то есть, куча картинок с сайта - это 1 маршрут?
orignal
да
orignal
для для другого клиета уже другой
orignal
короче когда много клиентов много тагов тоже плохо
Vort
они на двух сторонах генерятся примерно в одинаковом количестве?
orignal
нет
orignal
только у получателя
orignal
потяно что если сессия додлга и тяжелая то будет на обеих сторонах так
Vort
это я попробовал оценить перегрузку веб сайтов
orignal
потому что аки
Vort
сайты обычно отправители, а не получатели
orignal
но там аки прилетают
Vort
ну допустим. сайт с одновременно сидящей сотней юзеров
Vort
сколько один тег жрёт RAM ?
Vort
примерно конечно
orignal
каждый таг это 8 байт сам таг + указатель на тагсет
orignal
считай где то 20 байт
Vort
то есть, тыща тегов - 20 килобайт. допустим
Vort
на сотню юзеров помножить - 2 мегабайта
Vort
короч по моим ощущениям, запас раз в 10 есть точно
Vort
обычных юзеров вообще можно не учитывать
Vort
только сервера
Vort
у разработчиков java дополнительные аргументы есть чтобы экономить теги?
orignal
ну так это у нас так
orignal
у них все плохо ))
Vort
с чем плохо? RAM или CPU ?
Vort
даже если у них раз в 10 хуже и по RAM и по CPU, сомневаюсь, что им это может помешать поставить тыщу тегов
Vort
но я грубую оценку делал, так что могу ошибаться, конечно же
orignal
память
orignal
порой деда понять сложно
orignal
он мне говорил что у них таги много памяти жрут
onon
Ты сейчас договоришься, что они окно просто увеличат, и сеть вообще ляжет
onon
Вон дрозд и так уже перегружает всё что может
orignal
а с чего она ляжет?
orignal
лягут только джавовские узлы
orignal
у сети достаточно мощности все это прокачивать
onon
Нет
orignal
с чего это?
orignal
у меня все узлы недогружены
onon
Картинку смотрел с пэйсингом?
onon
Вот смотри, если делать пэйсинг, то сеть относительно равномерно загружена по времени
onon
А без него, она часть времени простаивает а потом идёт резкий рост трафика
onon
Превышающий пропускную способность
onon
Поэтому мощности-то может и есть, но прокачать сеть такое не сможет
onon
Из-за неэффективного использования
onon
Поэтому было бы неплохо чтобы и ява тоже начала эффективно использовать сеть
orignal
ты про пейсинг в SSU2?
onon
Может и хрен бы с ними, пусть онанируют медленно, но своими пиками трафика они перегружают узлы, через которые я пытаюсь слать пакеты равномерно.
onon
Ив SSU и в стримах
Vort
при нормального размера буферах пик аккуратно уложится в буфер
orignal
я вот думаю не снизить ли нам 250 на хоп до 200 на хоп
orignal
чтобы отсекать разных впн-иков из тоннелей