IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/09/06
~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 сталкиваюсь
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 в коде идёт отсылка по сути вот сюда: 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
Vort теги они для каждого стрима или для каждого дестинейшена генерятся?
Vort плохо помню подробности
orignal джля каждого маршрута у деситнейшина
orignal на нем сидеть может многно стримов
Vort то есть, куча картинок с сайта - это 1 маршрут?
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 чтобы отсекать разных впн-иков из тоннелей