~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
AreEnn
DUHOVKIN_
Guest7184
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
onon
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
vade
weko
whothefuckami
orignal
нет это не баг
orignal
верни ту строчку на место потому что бывают адреса типа NTCP2v4v6
Vort
ок, сейчас верну
orignal
остальное нормально
Vort
а эти v6v4 тоже как и v6 надо в квадратные скобки заключать?
orignal
нет
orignal
там всегда будет только supported
orignal
R4SAS я перезалил для щыч
orignal
osx
Vort
на всякий случай проверю изменение. в перезапуск ухожу
Vort
понадеюсь что ничего не сломал ) github.com/PurpleI2P/i2pd/pull/1864
orignal
нормально
orignal
смержил
Vort
хорошо, спасибо
orignal
счас сразу на одной машине обновлю и опробую ))
orignal
нормально показывает
weko
orignal: в идеале нужен параметр "быстроты" выбираемых хопов. Соответственно он будет влиять на анонимность и на скорость.
weko
В самом коде он может просто влиять на шанс выбора роутера с разными флагами
weko
0.5 равные шансы у всех, больше - повышение шансов X, в минус - повышение шансов L
weko
Ну не минус а меньше *
acetone
orignal: (аларма) зашифрованные лизсеты сломались
acetone
пробовал с подписью 11 и 7 - лизсет не находится
acetone
только зарядил дефолтный лизсет - тут же все заработало
weko
У меня работало в прошлый раз
weko
Странно
acetone
orignal: crypto.tagsToSend имеет смысл в современных UDP-туннелях с ECIESx25519?
weko
acetone: там другое вроде нужно
weko
Не помню((
weko
Я написал возвращение старого алгоритма
weko
Tunnel creation success rate (old algorithm): 27%
weko
Сейчас буду делать PR
weko
Параметр http.old_tcsr
weko
Выключен по умолчанию
acetone
weko: наверное ты говорил про i2p.streaming.initialAckDelay, но и это только для tcp-туннелей насколько я понимаю...
weko
acetone: честно говоря я не знаю
weko
Нужно спросить у orignal
weko
А вот тэги точно нужно
weko
Это прям 100%
weko
Щас логи посмотрю
weko
crypto.ratchet.inboundTags=500
weko
acetone:
acetone
weko: принял
weko
На обоих сторонах я думаю
weko_
Протестил
weko_
Работает
acetone
weko_: хм. когда-то тестировал на нулевых туннелях, где одна сторона за NATом - не работало. Сейчас завелось. С обеих сторон 0 хопов проверил
weko_
Может сейчас ситуация другая
weko_
Поменяли код, другая конфиг чего то
acetone
По поводу нерабочего зашифрованного лизсета что-то не догоняю. Проверочный адрес лося ( shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa.b32.i2p ) работает.
acetone
orignal, "inbound.quantity = 1" при нулевых туннелях ок?
weko
;)
weko
Если что, я протестил. Там при сборке какой то варнинг, но я не знаю как его фиксить
acetone
Удивляюсь, что разницы в скорости при нулевых туннелях и когда с одной стороны 1 хоп - практически никакой. От 10МБ-сек остается 1МБ
weko
Интересно
weko
Tunnel creation success rate: 25%
weko
Tunnel creation success rate (old algorithm): 27%
orignal
acetone так без раницы
orignal
tagsToSend только для эльгамаля
orignal
работают шивроанные лизсеты
orignal
вчера проверял
acetone
orignal: в клиентском туннеле при шифрованном лизсете никаких доп.флагов не надо, верно же?
acetone
:J
orignal
не бывает клиентского шифрованного лизсета
orignal
адрес выше открывается через обычный прокси
orignal
у тебя отктывается?
orignal
хочу только напомнить что это не сам адрес а B33
weko
++)
weko
Там под спойлером)
weko
Открылось
orignal
сам адрес естественно не найдется
weko
orignal: github.com/PurpleI2P/i2pd/pull/1865
orignal
а зачем?
orignal
чем плох нынешний?
weko
Тем что нет средней
weko
Среднего значения
orignal
для чего в принципе нужен старый?
weko
Для того чтобы видеть среднее значение
weko
Которое новый не показывает
orignal
мне не нравится слово old
orignal
замени на avg
weko
Окей
HidUserZ
так оно и есть среднее
orignal
опнимаешь слово old не несет никакий смысловой нагрзуки
weko
Понял
orignal
и добавь комментарий
weko
Сейчас сделаю
orignal
ну тогда avgfromstart
orignal
как то так
weko
Угу
HidUserZ
ты мог бы просто m_OldNumSuccesiveTunnelCreations++; в SuccesiveTunnelCreation() засунуть
orignal
короче чтобы название отражало содердание
HidUserZ
вы хотите http.old_tcsr это в прод добавить?
relaybot
13R4SAS: а почему среднее
weko
HidUserZ: ну дак проще когда можно билдить сразу из основной ветке
relaybot
13R4SAS: напишите ratefromstart
weko
Оно выключено по умолчанию
weko
avgratefromstart ?
relaybot
13R4SAS: еще раз, почему среднее?
relaybot
13R4SAS: вы занимаетесь дележкой простой
weko
Потому что что алгоритм среднего значения
relaybot
13R4SAS: хз хз
weko
Ну так это и есть среднее
weko
Сумму делить на количество
HidUserZ
я прост не уверен что этот параметр нужен народу
weko
Ну дак кому не надо тот не включает
weko
Я его даже в дефолтный конфиг не добавил
orignal
ну раз weko нужен
orignal
можно добавить что только для отладки он
relaybot
13R4SAS: тау я говрю, среднее находится на основании сравнения нескольких пероэиодов
relaybot
13R4SAS: так*
HidUserZ
это ж не дебаг версия
HidUserZ
а прод
relaybot
13R4SAS: а тут просто нахождение значения на всем временном промежутке
weko
HidUserZ: тыщу раз уже сказал что выключено по умолчанию
HidUserZ
я знаю что он выключен
weko
R4SAS среднее от старта роутера
weko
HidUserZ: ну дак и всё
HidUserZ
прост есть ли смысл усложнять так
HidUserZ
еще вопросы будут что это и зачем
weko
Что умложнять?
HidUserZ
i2pd
weko
HidUserZ: а сложно ответить типо?
HidUserZ
так хз какое количество будет
weko
HidUserZ: и в каком месте усложнение
HidUserZ
непонятно народу будет что за old tcsr
weko
HidUserZ: так мне лось сказал поменять название
weko
Сейчас поменяю
HidUserZ
ладно
orignal
R4SAS там с пакетом для дебиана какая то хрень
orignal
похоже он собран не с теми либами который в него в stable
relaybot
13R4SAS: стейбл? сомневаюсь
relaybot
13R4SAS: я думаю в нем обновили либы
relaybot
13R4SAS: так что пересобирать придется
weko
В коде назову total_..., а параметр total_tcsr. Нормально?
weko
Ой тоесть Total..., без _
relaybot
13R4SAS: как отличаются версии то?
Gate
подскажите на тоннель стоит настройка длина хопов 3 ну дефолт, а в вебконсоли в свойствах тоннеля inbound и outbound всегда минимум 4 хопа иногда даже 5, как это работает вообще?
Vort
то количество туннелей, а не хопы. хопы отделяются ⇒
weko
Gate: есть inboundTunnelVariance ?
Gate
weko: был, но я его закоментил специально, но все равно сейчас длина тоннеля в обе стороны 4
weko
Gate: точно длину смотришь?
Vort
так перезапустить i2pd надо
weko
Ну это да тоже
Vort
reload tunnels поломан
weko
Vort: +
Gate
inbound tunnels и там по кол-ву established
Gate
ребутал конечно и не раз
weko
Gate: так это количество туннелей
weko
А не хопов
weko
Матчасть учи блин....
Gate
так где ее учить то доков нет по этой теме, где что в вебконсоли
weko
Gate: у ацетона есть статья
relaybot
13R4SAS: orignal: ?
relaybot
13R4SAS: ldd пусть показывают
orignal
я тебе в телеге скинул
Gate
weko: да понял, действительно, сам тупанул, вроде понял, спс
HidUserZ
надо ссылку на ацетоновские статьи в доку засунуть
Vort
вдруг кому интересны термины: en.wikipedia.org/wiki/Moving_average
Vort
SMA/CA/WMA/EWMA
weko
http.showTCSRfromstart
weko
Подойдёт?
weko
Хотя лучше TotalTCSR
weko
Наверное
weko
Сейчас сделаю
weko
http.showTotalTCSR
Vort
похоже, я получил ответ на своё предположение в предыдущем сообщении :D
weko
Что за предположение?
orignal
weko тогда вот что
orignal
если параметр это включен то показывай оба рейта
weko
Ну дак я так и делаю
orignal
тогда нормально
orignal
чтобы 2 сразу было
weko
Ну да)
weko
Я сейчас меняю названия
weko
orignal: сделал
weko
Проверил, работает
orignal
счас смержу
orignal
смержил
Gate
А где хранятся ключи клиентских тоннелей, если я не прописал для тоннеля keys?
relaybot
13R4SAS: в памяти
orignal
в памяти только
orignal
потому они и transient
Gate
5мб/сек тащит, это для меня рекорд
Gate
6.5 вот это я даю газу)
Vort
"Что за предположение?" - о том, что кому-то интересны правильные названия алгоритмов усреднения
orignal
case i2p::data::CAPS_FLAG_EXTRA_BANDWIDTH2 : limit = 1000000; type = unlim; break; // 1Gbyte/s
orignal
вот такое нашел в коде
acetone
weko: мои статьи это апокриф, сурцы читать надо!
orignal
я скажу ну-ну
weko
acetone: ;)
orignal
хаген считал что скорости выше гигабита быть не может он был неправ ))
Vort
гигабайта
orignal
10 гигибаит то есть
acetone
weko: почти как ислам принять, тоже язык учить надо непонятный)
weko
Гигабайт в сек это 8 гигабит
weko
acetone: хахахахах!))
Vort
есть ли хоть у кого-то тут 8 гигабит канал?
Vort
тут = в i2p
weko
Vort: один чел в #howtoygg загоняет про 10 гигабит
orignal
у на на работе есть 10 гиг оптика
Vort
в Tor кстати анлим - это тоже 1 гигабайт/сек
orignal
ну тогда ладно
orignal
просто разбирался с кодами
weko
orignal: ну можно ещё нолик приписать если место есть)))
Vort
к сожалению, я вижу и на меньших каналах как по несколько узлов поднимают
Vort
видимо, недостаточно параллелизации внутри процесса
orignal
почему ты думаеш что несколько узлов это на одной железке?
orignal
может там локальная сеть
Vort
даже на ipv6 видел )
Vort
уж там адресов должно хватать
weko
И как один порт покинуть на несколько железок? Ставить балансировщик чисто ради тора?
Vort
чтобы не вешать несколько компов на 1 адрес
Vort
портмапом можно
Vort
а, так не один
Vort
я говорю о случае, когда на одном IP несколько узлов
Vort
порты разные
weko
М
weko
))
R4SAS
типа меня, когда я держу на одной машине по 3-4 ш2зв?)))
Vort
если бы это был единичный случай, я подумал бы что дело в необходимости отладки различных конфигураций
Vort
но потом заметил ещё несколько таких случаев
Vort
и, вспоминая аналогичные случаи с Tor (плюс вспоминая один поток на протокол в отладчике i2pd), предположил, что один узел может упираться в лимиты CPU
Vort
точнее, смотрел не через отладчик, а через профилировщик
weko
Vort: у крыла вроде на разных адресах, не?)
Vort
в Tor там вообще задница, по сотне узлов у некоторых владельцев
weko
Vort: в ш2з таже хрень)) 100 или 200 узлов у стормиклауд
orignal
а что был слуай когда в i2pd один тред упирался в лимит проца за последние несколько лет?
Vort
у меня нету жирного канала, чтобы проверить
Vort
но теоретически вполне возможно
R4SAS
было
Vort
"100 или 200 узлов у стормиклауд" - они поясняли причины или нет?
weko
orignal: у меня было такое наверн
R4SAS
у меня, но это было года 3 назад
weko
Ну уверен, но видел как долбило в 100%
weko
Кажется
weko
Один раз
orignal
какой именно тред?
orignal
3 года назад был еще эль-гамаль в тоннелях
orignal
галка тоже ругался что в момент построения тоннелей подскакивало до 100%
R4SAS
не помню
R4SAS
наверно SSU
orignal
возмодно
orignal
там было все плохо
Vort
у меня простая математика. если SSU2 у меня на 2 мегабайтах в сек жрёт 10% ядра, то 20 мегабайт/сек уже будет предел. а мы тут об 1024 мегабайтах в сек говорим
R4SAS
weko: ты наверно смотрел по проце общуу
R4SAS
общую*
weko
Возможно
weko
R4SAS: не, там вроде как раз SSU было
R4SAS
прям конкретно на потоке?
weko
Хотя не уверен
weko
Дааа
weko
Не поверишь)) прямо сейчас увидел упор в 100
orignal
Vort а математика еще проще
orignal
там многое можно распарллеить
orignal
weko какой тред?
weko
Сейчас скажу
Vort
"там многое можно распарллеить" я и не говорил, что нельзя. но сейчас гигабайт/сек, скорее всего, на одном узле не сработает
Vort
больше ничего не говорил. и даже менять ничего не предлагал )
weko
orignal: SSU2
weko
Прямо в 100 долго
weko
Это последний коммит
weko
Я такого не видел раньше
orignal
сколько SSU2 сессий?
orignal
самое простое разнеси 4 и 6 по разным тредам
weko
1800
orignal
далее операцию Agree вынести в отдельный тред как было сделать в старом NTCP
orignal
потмоу что был медленный эль-гамаль
orignal
weko этим надо будет заняться
weko
Иногда успокаивается и становится 50
orignal
а у меня вот основная нагрузка NTCP2
orignal
там порядка 60% ядра
weko
У меня NTCP2 и Tunnels по 10 процентов, наверное SSU2 не даёт больше
orignal
не думаю
weko
Вот сейчас резко упало до 25... Странно
orignal
у меня на впс 2 ядра
orignal
4 мегабай в секунду прет
weko
orignal: нет прикол в том что треды друг от друга зависят и если один не вывозит, нагрузка на другой ниже чем могла бы быть, разве не так?
weko
Вообщем у меня SSU2 кушает в 5 раз больше примернл
orignal
зависят конечно если у тебя ядер мало
weko
Ядер хватает
weko
Но один тред на два ядра же не разнести
weko
Вот сейчас всё хорошо
orignal
так когда один тред целиком занимает ядро это нехорошо
weko
Ну вот
weko
Я об этом и написал, именно почему
orignal
вот и надо смотреть почему
weko
Что другие треды "ждут" этот который не справляется
orignal
следует ли заниматься дальше в частности выносить Agree
orignal
не должно быть
orignal
ведь NTCP2 и SSU2 независимы друг от друга
weko
orignal: Agree это операции асинхроннового шифрования?
orignal
это согласование ключа
weko
orignal: а вот tunnels зависит же?
weko
orignal: ну тоесть да
orignal
практически умножение точки на кривой на множитель
orignal
довольно тяжелая
weko
Согласен, имет смысл разделить симметричное шифрование для трафика и асимметричное для согласования
orignal
тоннели ясен пень зависят
orignal
ну вот если ты поищишеь старые релизы с NTCP там это уже было
weko
Угу, странно что сейчас ntcp2 так себя не ведёт
orignal
так в NTCP причина была в эль-гамале
weko
А тут какая?
weko
Тут почему в 100 уходит
weko
Пока NTCP2 на 10
orignal
а тут такая что объемы трафика резко выше
weko
Думаешь с NTCP2 тоже такое бывает?
orignal
а тебя же скорее ретрансмисии
weko
Или просто SSU2 больше пропускает?
orignal
бывает конечно
orignal
просто SSU2 больше перепосылает
weko
Тогда нужно статистику собирать
orignal
а в NTCP2 это ядро делает ))
weko
Понял)
weko
Ну да, вот сейчас вижу что идёт больше в NTCP2
orignal
короче смотреть дальше надо
weko
А где запросы флудфила обрабатываются? В netDB?
weko
Чтобы понимать где смотреть при подозрениях ))
orignal
смотря чего
orignal
лизсетов как правило в Dectination.cpp
orignal
роутеров в ntedb
weko
Именно тред
weko
Из того что подходит только NetDb)
weko
По смыслу
orignal
нет для адресов у каждого свой тред
orignal
отдельный
weko
А именно когда у меня включен флудфил
weko
Запросы к нему в каком треде
orignal
в netdb
orignal
но там же дохуя коротких транспортных
orignal
для одного сообщения
weko
В любом случае можно будет увидеть нагрузку на этот тред
orignal
у меня флудфил
orignal
и там нагрузка небольщая
Vort
я скидывал что на винде у меня грузит в SSU2
Vort
там в основном системные вызовы
Vort
никакого Agree и близко не видел
orignal
sendto ?
orignal
там по сути всего один системный вызова
orignal
остальное криптография
Vort
нет, не один
Vort
сейчас попробую загрузить данные
orignal
вот давай просто не предстявляю что там еще может быть
Vort
такс, у меня были немного смешанные данные. сейчас фильтрую по SSU2
Vort
kernel32.dll ! GetQueuedCompletionStatus жрёт 19% от SSU2
Vort
сейчас скажу дальше, запутался тут немного
Vort
WS2_32.dll ! WSASendTo - 28% + 4 %
Vort
ещё две жутковатые функции, так и не пойму в чём их отличие, он обе вызываются из i2pd.exe ! i2p::transport::SSU2Session::CreateAckBlock - 28% и 20%
orignal
<Vort> kernel32.dll ! GetQueuedCompletionStatus жрёт 19% от SSU2
orignal
а что она делает?
orignal
а вот CreateAckBlock это интересно
orignal
там формирует список чего получено в чего нет
orignal
и это проход по map-у
R4SAS
GetQueuedCompletionStatus это io
Vort
GetQueuedCompletionStatus function - Attempts to dequeue an I/O completion packet from the specified I/O completion port.
orignal
ну а кокретно откуда это в коде вызывается?
orignal
и sendto ?
orignal
*из
R4SAS
скорее всего да
orignal
ну по сути что я и сказал
orignal
это значит ядро не справляется
orignal
а вот CreateAckBlock интересная находка
Vort
"ну а кокретно откуда это в коде вызывается?" из i2p::util::RunnableService::Run, через boost
R4SAS
Vort: выше смотри
orignal
GetQueuedCompletionStatus
orignal
что это такое?
R4SAS
Run это общая оболочка потока
orignal
хотите сказать это буст гадит?
Vort
boost::asio::io_context::run
Vort
boost::asio::detail::win_iocp_io_context::run
orignal
очередь из заданий
Vort
boost::asio::detail::win_iocp_io_context::do_one
orignal
бля
Vort
GetQueuedCompletionStatus
orignal
это что то новое
orignal
то есть под виндой тормазная реализция буста
Vort
IOCP это ещё быстро
R4SAS
size_t do_one(bool block, boost::system::error_code& ec)
Vort
"а вот CreateAckBlock интересная находка" вот как распределяется в нём нагрузка paste.i2pd.xyz/?73a83426287ddb87#Ej7sLzmLXwxMFdMUhnpf3K6oQJChNxtQPujDT6C29KMc
R4SAS
Vort: ты в чем смотришь?
orignal
им я займусь
Vort
R4SAS: VTune
R4SAS
ойбля
orignal
похоже придется на очередь переделывать
R4SAS
Vort: Very Sleepy видал?
Vort
нет, сейчас погуглю
Vort
попробую подцепиться им к i2pd
orignal
надо разобраться с этим вопросом
orignal
итак начинаем переделку выбора хопа
orignal
моя идея также сравнивать фактический трафик с декларируемой толщиной канала
Vort
R4SAS: пытаюсь угадать вслепую какой поток отпрофилировать, так как в verysleepy они не подписаны. как попаду на SSU2 - кину результат
R4SAS
Vort: профилируй полностью
R4SAS
потом после сборки данных вычислишь
Vort
а там можно будет отфильтровать по потоку уже после сбора данных?
Vort
ну я нашёл SSU2 тред вообще-то уже
R4SAS
не помню уже
Vort
по времени сбора тоже фильтрация не помешала бы. жирные SSU2 транзиты ведь не часто приходят. ну да ладно. я вообще удивлен, что оно заработало, хоть как-то
R4SAS
главное не записывай слишком много)))
R4SAS
а то упадет
orignal
ладно CreateAckBlock переделаю
orignal
чтобы каждый раз acnt не считать
orignal
в цикле
Vort
без жирного транзита получилось неинтересно
R4SAS
жирного - это сколько?
Vort
ну прошлый сбор данных через VTune был где-то на 2-3 мегабайтах/сек по SSU2
Vort
а сейчас через Sleepy я не уверен что вообще что-то через SSU2 текло
R4SAS
у меня слипи не выносит вообще)))
R4SAS
в ступор стает при выборе ш2зв в списке)))
Vort
думаю, дело или в ОС или в компиляторе
Vort
эта сборка у меня через clang
Vort
ну и ОС - Win 7
Vort
где ж жирные транзиты тогда, когда они так нужны )
Vort
в прошлый раз около часа ждал - выбесило конкретно
Vort
нужен какой-то нормалный метод измерения
R4SAS
так если смотреть на графики, то видно что они синусоидой ходят )
Vort
ещё то ли от аптайма, то ли от времени суток зависят
Vort
сейчас, наверно, и не словлю. ну ещё чуть-чуть попытаюсь
R4SAS
5 мб/с после перезапуска минут 20 назад
R4SAS
у меня тут видимо достаточно много туннелей, софтина не справляется
R4SAS
85 тредов
Vort
при выборе в списке идёт загрузка отладочной информации
R4SAS
)))
Vort
она не должна зависеть от нагрузки
R4SAS
при выборе приложения в списке оно постоянно начинает мониторить треды
R4SAS
которые справа
R4SAS
тут жопа и начинается
Vort
список же раз в секунуду всего лишь обновляется. странно это
R4SAS
хз. у меня ей плохеет, что она даже в проц упирается
Vort
аа, всё, вижу. у меня она 10% жрёт
R4SAS
10% от чего?
Vort
она же ещё список процессов обновляет
R4SAS
от ядра или проца
Vort
от всего проца (4 ядра)
R4SAS
везет. а у меня упирается в поток по ядру
Vort
её бы настройку частоты обновления таблиц...
Vort
ей*
Vort
а винда какая?
R4SAS
10
Vort
я когда увидел сколько 10ка рожает svchost`ов, то был, мягко говоря, сильно удивлён
Vort
отключал эту мегафичу?
R4SAS
там это отключаемо
R4SAS
нет
Vort
ну вот от этого sleepy может плохеть
Vort
процессов много
R4SAS
у меня от силы их 20
R4SAS
не, у меня ступор конкретно начинается когда я выбираю ш2зв в списке
Vort
понял. без выбора у меня ест 0.2%
Vort
значит, таки, потоки грузят
Vort
у меня 27 потоков сейчас
R4SAS
видать дело в Dr. MinGW
R4SAS
котроый символы гоняет
Vort
отпрофилировал sleepy с помощью sleepy )
Vort
SymFromAddr - 75%
Vort
стек отображать - это, конечно, красиво, но желательно это делать без подвисаний всё таки )
Vort
в общем, не словлю я сейчас жирного транзита. ну да ладно, всё равно это ненадёжный метод измерений
Vort
а напишу я им багрепорт )
Vort
R4SAS: норм? github.com/VerySleepy/verysleepy/issues/108
R4SAS
возможно)
R4SAS
только это начало
Vort
в смысле - как оно будет тупить, когда начнёт данные собирать? )
Vort
или о каком начале речь?
R4SAS
оно еще тупить будет при разборе собранных данных
R4SAS
если их много
R4SAS
тупить и вылетать
Vort
вот вылетать - это хуже
Vort
а тупить - это нормально для такой задачи
anon84
подскажите пожалуйста как можно запустить i2pd от определенного пользователя в debian?