orignal
Vort я посмотрел код
orignal
пытается перестроить тоннель по тому же маршруту только 1 раз
weko
orignal: это дед червь, лучше б сначала проблему чётко воспроизвел, прежде чем идти иссуй писать
relaybot
13trusishka: А че именно червяки то бля
relaybot
13trusishka: Народ, weko Vort orignal это норм что в вебморде sent объем и скорость меньше транзита? Как мне помнится самое минимальное знаяение из 3х должно быть у транзита не?
weko
Возможно кто то гавно слал
weko
Но я не знаю что там в коде
weko
А возможно у тебя не работала отправка
weko
я не знаю
weko
R4SAS: можешь как то повысить лимит каналов?
weko
Хотел создать канал а тут облом
weko
Пишет я уже нахожусь в максимальном количестве
baz
))
Vort
trusishka: ну мне как всегда кажется, что это баги. у меня вот наоборот сейчас скорость Sent в 1.6 раза выше транзита. стабильно
Vort
при том что из нагрузки только этот чат. который за день столько не жрёт сколько этот "Sent" за несколько сек выжирает
Vort
Received: 155.33 GiB (893.34 KiB/s) Sent: 163.69 GiB (1290.22 KiB/s) Transit: 151.23 GiB (850.88 KiB/s)
Vort
по моему расхождению отправки и транзитов: не могут ли это быть перепосылки SSU2?
Vort
опять про CPU при достижении лимита: не нравится мне всё же вот эта пила. есть ли у кого-то обяснение формы "сигнала"? если нету, то надо опять проверять на предмет бага
Vort
попробую засунуть i2pd в профилировщик
Vort
в общем, после профилирования стало всё понятно: SSU2 жрёт раз в 5 больше CPU, чем NTCP2
quake
в чем разница между SSU2 и NTCP2
Vort
один основан на UDP, другой на TCP
quake
а можно ли поднять сайт i2p без дкдика
Vort
quake: по-моему, на чём угодно можно
quake
ну например на компе
quake
без статики?
Vort
quake: думаю, что можно. хотя не проверял. ну только он же должен круглые сутки работать. иначе зачем такой сайт?
quake
вот вот
quake
малина как вариант
Vort
(по профилированию) вот результат сбора данных за ~40 минут: privatebin.i2p/?303e3a8dde86dd37#6KD1ghrJfVKacM7aLXY4vEL1UhgW8imD9YPAjboeiA8N
Vort
треть времени нагрузка была маленькая
quake
что за даннык
Vort
треть времени канал полностью забит SSU2
Vort
треть времени полностью забит NTCP2
quake
по какой период
Vort
quake: данные по нагрузке процессора от работы i2pd узла
Vort
внизу на графике видно, когда была нагрузка SSU2, а когда NTCP2
quake
и о чем это говорит
Vort
1. о том, что если процессор компа, где работает i2pd, слабый, то он может не вытянуть нагрузку SSU2
Vort
2. о том, что надо подумать над тем, можно ли сделать работу SSU2 эффективнее
quake
и как быть
Vort
следить за нагрузкой процессора. если перегружается - пробовать отключать SSU2
Vort
если не перегружается - то всё в порядке
quake
а секйчас SSU больше не робит
Vort
в новой версии (которая ещё не выпущена) обычного SSU уже нету
quake
новая версия это 2.44.
weko
quake: ssu2 поверх UDP, NTCP2 поверх TCP
weko
А уже ответили
quake
ответили
baz
да
quake
вот были бы туннели для стима
quake
что можно было покупать все игры
quake
через тор не удаеться войти
weko
Vort: в 2.44 SSU отключён по умолчанию даже
quake
стим глючит конкретно
quake
это я знаю
weko
Так не используй стим lol
weko
Зачем использовать анонимные сети для не анонимного стима
weko
Толка от этого 0
Vort
чуть лучше посмотрел на результаты профилирования. к сожалению, основное использование CPU идёт из API функций ОС
quake
чтобы обойти блокировку
Vort
видимо, TCP обрабатывается где-то на низком уровне (в ядре?), а UDP надо гонять между уровнями
quake
западные шалавы ввели санкцию
Vort
ещё одно подозрение, что SSU2 может мельчить пакеты. но это надо уже через Wireshark смотреть
quake
с локального компа смотришь
quake
трафик
quake
SSU2
Vort
quake: конечно
quake
узлы помойму сами создаються
quake
вроде
quake
через DHT
Vort
в общем, три API функции ОС - GetQueuedCompletionStatus, WSASendTo, SleepConditionVariableSRW в сумме потребляют 73% CPU
Vort
остальное можно оптимизировать
Vort
посмотрел длину пакетов. в TCP данные немного лучше пакуются по пакетам
Vort
для TCP пакетов размером 1.1к - 36%, 1.5к - 19%
Vort
для UDP 1.1к - 64%, 1.5к нет вообще
Vort
но это я смотрел при обычной работе. теперь надо словить момент когда перегруз CPU приходит
Vort
и посмотреть распределение размеров UDP в тот момент
Vort
редко перегруз приходит. попробую поставить SSU2-only, наверно так быстрее воспроизведётся
Vort
словил UDP пакеты при перегрузке CPU. ничего особенного - распределение размеров такое же
Vort
так что дело в самом SSU2. ну или в его взаимодействии с ОС
Vort
интересно, почему он пилу делает. NTCP2 так себя не ведёт - его нагрузка ровная
Vort
может, эта форма пилы ведёт к разгадке проблемы
Vort
вот чисто SSU2 нагрузка: privatebin.i2p/?7616a3e65252766d#AWr9bAmRN3JDsGezrYLovxLf3FBN1yoq3aR6epkzPbaV
Vort
в очередной баг вляпался: отключить NTCP2 то можно, а вот обратно включить - уже нельзя. только удаление router.info помогло
orignal
trusishka запросто. это означает что транзит идет куда то на хуй то есть никуда не отправляется
orignal
weko для начала он бы четко софрмулировал проблему
orignal
мне например она понятна и это не проблема
Vort
хорошо, что он подопнул челов, которые вырубали транзит. остальное сомнительно
orignal
Vort отправка большее транзита это йтвой служебный трафик
orignal
типа поиска узлов и запросов
Vort
orignal: в 1.6 раз больше транзита ёпт
orignal
легко
orignal
если у тебя конец тоннеля и каждый пакет на разный адрес
Vort
ок
orignal
насчет обратного включения NTCP2 посмотрю
relaybot
13trusishka: если транзит больше выходит он удаляется на моем роутере?
orignal
то есть сценарий отключить NTCP2 а потом включить?
Vort
ну почти. я ещё ygg вырубал. так как без него не отрубалось
Vort
а потом попробовал включить обратно и то и другое
orignal
trusishka это значит что пакеты предназначены адресу с которым нельзя соединиться
Vort
ygg включился, основной NTCP2 - нет
relaybot
13trusishka: Ок понял
orignal
Vort скажи точный сценарий
Vort
точный сценарий это мне надо на виртуалке проверять. я на 100% не запомнил. займусь чуть попозже
Vort
при "пилу" SSU2 какое-то логичное объяснение есть? это известный эффект?
Vort
про*
orignal
что за пила?
orignal
влом i2p запускать
orignal
так скажи
Vort
нагрузка CPU от SSU2 специфичной формы
Vort
ну а про то, что она в несколько раз выше нагрузки от NTCP2 я выше много написал
weko
orignal: ты про деда то?
orignal
ну да
orignal
то что нагрузка специифичной формы там перепосылка идет раз в 150 миллисекнуд вроде
orignal
или 300 я точно не помню
orignal
то что выше тоже понятно почему
Vort
зубец пилы шириной секнуд в 20-30
Vort
не мерял
Vort
но не миллисекунды
orignal
20-30 секунд говоришшь?
Vort
ну примерно. у графика там пиксель около секунды
Vort
может минуту зубец
Vort
надо измерить будет
orignal
const int SSU2_TERMINATION_CHECK_TIMEOUT = 30; // in seconds
orignal
раз в 30 секунд происходит чистка
Vort
2 пикселя примерно равны секунде
Vort
так что похоже
orignal
ну так это нормально
orignal
смотри в чем дело
orignal
в старом SSU на каждую сессию создавался таймер
orignal
который тоже дескриптор
orignal
в результате вечная вылетали за пределы
orignal
потому в SSU2 я все повесил на один таймер
orignal
приводящий вот к таким зубцам
Vort
так что это за чистка такая, которая в ноль сбивает нагрузку CPU ?
Vort
на трафике тоже пила, кстати? не проверял
orignal
void SSU2Server::HandleTerminationTimer (const boost::system::error_code& ecode)
orignal
проход по нескольким спискам
orignal
и да ты прав надо будет разнести по разным
Vort
там хоть гонок нету? почти всё без мьютексов перебирается. пока работает таймер больше ничего не происходит? for (auto it: m_Sessions)
orignal
нет все в том же треде
Vort
ок
orignal
тут все четко
orignal
тред всегда один
Vort
так что получается - этот таймер как-то ломает передачу данных?
Vort
нарастает скорость(?), приходит таймер - и опять сначала
orignal
ты про нагрузку на проц или скорость?
Vort
ну я не знаю, связаны они или нет
Vort
во логике, должны, но я ещё не проверил
Vort
по*
orignal
понятно что на скорость влияет
orignal
потому что когда таймер этот отрабатывает то ничего не передается и не обрабатываетсяч
orignal
приниматься принимается но складывается в очередь
Vort
остальной код, видимо, это как обрыв определяет. ну или что-то в этом роде
Vort
и сбрасывает окно, допустим. это всё я почти наугад говорю, правда
Vort
но, может, и не в таймере дело
Vort
я сейчас получше глянул - зубцы не очень равномерны
Vort
какой-то меньше, какой-то больше
Vort
иногда нагрузка вообще не зубцами идёт, а как попало
Vort
сейчас ещё один скриншот подготовлю
Vort
красными стрелками отметил подобие волн, синими - хрен пойми что. но всё это SSU2. NTCP2 так жрать CP не умеет
orignal
потому что у NTCP2 это загнано в внутрь ядра
orignal
думаю это перепосылки
orignal
там докольно сложный алгоритм
quake
orignal: что дает статика для i2p
orignal
что такое статика?
quake
orignal: имел ввиду IP
orignal
ничего
orignal
главное чтобы был доступен извне
quake
orignal: upnp вроде задействуеться
orignal
мы говорим о разном
orignal
у тебя был вопрос о статическом IP
quake
да
quake
мне смогут извне достучаться?
weko
quake: если не за nat то могут напрямую
weko
Если за nat то могут с интродьюсером
quake
а как за nat выйти
orignal
так статический или белый?
quake
у меня вообще динамический
orignal
ну и нормально
weko
quake: ну динамический может быть белый а может быть серый
weko
Серый значит за nat
orignal
и наборот
weko
Ага
weko
Может быть за nat твоего роутера тоже, но на нём можно пробросить
weko
Порт
baz
nat соответственно бывает конический или симметричный
weko
Да от этого ещё зависит как работает hole punch
quake
А как определить белый или серый ip
weko
quake: ну если отдельно не подключал у обоса (провайдера) то скорее всего серый
weko
Обсоса
weko
*
weko
Можешь просто свой адрес попинговать с другого адреса
weko
Если ответ есть значит белый
weko
Если нету значит серый
quake
внешний ip
Vort
orignal: разгоняется SSU2, скорость превышает возможности канала, сыпятся пакеты, приходит перепосылка и скорость сбрасывается в ноль - как-то так?
weko
quake: а нет, нужно тестить коннект на конкретный порт
weko
Потому что у провайдера могут быть включены ответы на пингм
quake
но торренты раздаю без проблем хотя порт закрыт
quake
скачанные торренты
weko
Вообще если в i2pd пишет что либо другое кроме OK то его порт не доступен
weko
quake: с торрентами я хз
weko
Может быть там какой механизм сделан
weko
По типу интродьюсеров в i2o
weko
i2p
quake
upnp скорее всего у меня через нее раздача идет
weko
quake: про торренты ничего сказать не могу
quake
слушай а 4g антеннах ты шаришь?
weko
Ну когда то смотрел какие то видосы
weko
Но скорее нет
quake
хотед себе прикупить комнатную но не стал толку мне кажеться от нее не будет
weko
quake: толк может и быть
weko
Зависит от расстояния
weko
Если слишком много то смысла нет, если не слишком то есть
weko
Опа!!
weko
Опять Firewalled
Vort
у меня тоже проскакивало. но я правда сейчас но компом издеваюсь. виртуалку запускаю
weko
orignal: мне кажется можно не отключать флудфил, если Firewalled, потому что в реальности с большей части адресов пакеты доходят
weko
Vort: у меня есть подозрения что это кто то специально делает. Но хз.
weko
Ну шлёт какой то гавно-порт
Vort
а я думаю, что это из-за перегрузок различных
Vort
orignal: готово воспроизведение заклинивающего отключения NTCP2.
Vort
[16:20:15] <Vort> а я думаю, что это из-за перегрузок различных
Vort
про заклинивающий NTCP2:
Vort
1. надо запустить i2pd со стандартными настройками
orignal
дальше что?
Vort
2. выйти, поставить в конфиге [ntcp2]enabled = false
Vort
3. запустить. опять выйти, закомментировать #enabled=false
Vort
4. при следующем запуске NTCP2 не будет
Vort
хотя строчка уже закомментирована
Vort
пробовал ещё вариант ставить enabled=true - тоже не помогает
Vort
помогает только удаление router.info
Vort
то есть просто вкл.-выкл.-вкл. - а оно уже не вкл.
orignal
понял
orignal
посмотрю
relaybot
13R4SAS: weko, завтра
weko
Окей
orignal
mañiana ))
Vort
есть тут кто? ) возник у меня вопрос по туннелям посреди ночи почему-то )
orignal
я есть
weko
я есть
Vort
:)
Vort
вот если java узел перегружен, он не позволит через себя туннель построить?
orignal
дропает
orignal
дед же сказал
Vort
хочу понять, как это выглядит. туннель создаётся, а потом через какое-то время уничтожается?
weko
смотря у кого
weko
у транизитов за джавой не создаётся
weko
у транзитов перед создаётся но там 0 байт
Vort
допустим, я слежу за вкладкой 127.0.0.1:7070/?page=tunnels
weko
у тебя удаляется после того как долго нет ответа о статусе туннеля
Vort
вот там внизу рождается новый туннель на 0 килобайт. дальше что произойдёт если java узел перегружен?
Vort
так на 0 килобайт и останется, станет failed?
weko
на транзитном роутере он будет 10 минут висеть
orignal
посылается запрос на тоннель
orignal
если через 30 секунд нет ответа то выкидываем
orignal
если приходит отлуп то просто выкидывается
Vort
то есть, что будет видно именно глядя на ту страницу? established, 0 KiB -> failed, 2 KiB ?
Vort
примерно
weko
ну может ещё отлуп прийти
weko
или пингов не быть
Vort
а это не failed?
Vort
короче. я вижу два класса ситуаций
orignal
failed это когда тест проваливается
Vort
1. established и почти сразу failed
orignal
значит тест не прошел
Vort
2. established, долго работает и только потом failed
weko
ну да тоесть пингов нет значит тест не пройден
orignal
ну значит где то в середине узел поломался
orignal
значит что послали пинг через пару тоннелей
orignal
он не вернулся
Vort
так вот когда java "не может" - это ситуация номер 1 ?
orignal
берем другие пары если снова не вернулся ставим failed