~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN_
Gamma
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
weko
orignal: а их и так мало, ликнов по ygg
weko
Меньше в 100 раз
Vort
weko: у меня было около 10. теперь 1. но что примечательно, из-за бага #1793 реальных коннектов аж 35 штук
weko
Меньше в 100 раз, чем обычных
weko
Я имел ввиду
weko
Но 35 то всё равно мало
R4SAS
orignal: проверь потом github.com/PurpleI2P/i2pd/issues/1810
R4SAS
по логике zlib 0 отдается когда Z_OK
R4SAS
я думаю оно перадается в Deflate который работает с вектором
R4SAS
передается
R4SAS
а точнее печатается
R4SAS
в таком случае есть вероятность что flush = false
R4SAS
так что предлагаю туда добавить проверку err, сделав
R4SAS
if (err < 0) // only negative values are errors
R4SAS
чтобы нуль не печатать
R4SAS
в двух местах - #131, #161
orignal
да нет же
orignal
это не ошибка на самом деле
orignal
суть в том что мы пытемся запихнуть в буфер в который не лезет
orignal
weko не о том речь
orignal
не о твоих линках а о тоннелях которые могут идти дальше по ygg
weko
Я про то, что если у меня их мало, наверное их у всех мало
orignal
это то понятно
orignal
но если на него попадет конкретно твой тоннель что хорошего
orignal
R4SAS а еще распаковываие полученного это Inflate
Vort
интересно, что в RFC такого слова нет
Vort
небось, уже юзеры додумали
orignal
какого словаа?
Vort
inflate
orignal
почему нет?
Vort
ну я не нашёл: datatracker.ietf.org/doc/html/rfc1951
Vort
или есть ещё какой-то стандарт?
Vort
почитал историю. deflate создан в 93м году, zlib в 95м
Vort
тогда ещё RFC 1951 не существовало, если я правильно понимаю (его в 96м сделали)
R4SAS
orignal: тогда почему 0,
R4SAS
?
orignal
что почему 0?
orignal
ну код ошибки
weko
orignal: есть какие то идеи насчёт стабильности? Ну, я про пускание трафика по нескольким туннелям. Готов кто то этим заниматься? Можно, конечно, сделать это на прикладном уровне, но было бы хорошо, чтобы из коробки работало без разрывов
Vort
я думал, для этого по 5 штук их и создаётся...
weko
Трафик идёт по одному...
weko
5 чтобы выбрать лучший и оперативно заменять
Vort
так откуда тогда разрывы? недостаточно оперативности?
weko
Отчасти
weko
Ещё туннель может быть некачественным
weko
Тоесть может быть высокий процент потери пакетов
Vort
тогда это вопрос к выбору лучшего
weko
Проблема в том, что неизвестно, когда туннель начнёт халтурить
weko
Может сейчас, может через 5 минут
Vort
так когда начинает, стоит прыгать. ну мне так кажется
weko
Когда начнёт, будет поздно. Разрыв уже случился
weko
Точнее когда поймём
Vort
а какой там таймаут?
weko
Откуда я знаю
Vort
просто разрыв за 100мс и за 5000мс - разные вещи
Vort
за 5 сек можно много чего успеть сделать
Vort
можно, к примеру, следить за пингами. резко прыгнул пинг - надо менять туннель
Vort
(просто идея)
weko
Для голосового чата и игр разрыв и 500мс - много
weko
Я не знаю точно, как сейчас смена работает
Vort
ну я вот тестирую майнкрафт сервер и тут бывают пинги по 15 секунд ) но обычно около 500-1000мс
weko
Вот 15 - это разрывы скорее всего
Vort
или много данных грузится, а у узла лимит маленький стоит
Vort
короч, я не знаю точно, как это решается. что пришло в голову - сказал. может это и нереально всё
Vort
кстати, интересная хрень. админу сервера говорил, но он мало что может сделать
Vort
на странице I2P tunnels Client Tunnels я вижу пинги где-то по 50-100мс, а сам майнкрафт выдаёт 500мс
Vort
слишком большое расхождение что-то
weko
Значит у него видимо 3 хопа
Vort
может быть. хотя вряд ли
Vort
у него java i2p
Vort
может в этом дело
weko
Значит проблема у него где то. У него сервер на RPi
weko
RPI*
weko
А может ещё и старая версия
Vort
в общем, это неплохой тест если кто-то захочет повылавливать баги в i2p(d)
Vort
свой серв сделать и на нём тестить
Vort
для контролируемости условий
weko
Сервер чего?
Vort
майнкрафта
weko
А что из этого поймёшь?
Vort
получится лидостичь 200мс допустим или нет
weko
Ну могу поднять
weko
Точнее включить просто , туннель уже есть
Vort
а версия какая?
weko
1.19.2
Vort
хорошо, постараюсь потестировать
Vort
надеюсь, майн не против будет на другом порту посидеть )
Vort
или можно на 127.0.0.2 повесить?
Vort
и нужен плаигин сервера чтобы пинг выдавал числом. тут я не знаю, какой нужен
weko
Vort: можно и то и то
Vort
окей
weko
порт можно через : указать
weko
Vort: щас плагин посмотрю
Vort
и адрес дай
weko
секунду
Vort
destination =
weko
нужно будет рестартнуть, я всё таки закоментил туннель. секунду
Vort
ок
weko
heontvjdcmuyvbd2adq6hlbofkfz5252ljscapdexleem4vszrdq.b32.i2p
Vort
похоже, что и мне рестарт надо
Vort
тунели посоздавались, порт открыт, но коннект не идёт
weko
я ещё не запустил
Vort
а. тогда жду
weko
запустил. там карта создастся
weko
там была карта в итоге
weko
но не суть
Vort
сейчас на 1 хопе настроено?
Vort
у меня - да
weko
lf
weko
да
Vort
тупило. но нужны числа, конечно
weko
опять не заработало
weko
щас
Vort
ок
weko
а, зависимость у плагина
weko
круто, щас
Vort
плагин TabTPS ?
weko
TabListPing
Vort
другой, но, надеюсь, что пинги будут показывать правильно
Vort
хотя не знаю, насколько тот правильный )
weko
Vort: пробуй
weko
а нет
weko
ммм
Vort
кидануло
weko
вот об этих разрывах я и говорил
weko
))
Vort
вообще-то я сейчас увидел у туннелей 150 и 150, а в игре 300
Vort
но потом в игре на 800 прыгнуло )
Vort
это просто стоя на месте, без загрузок чанков
Vort
за зайцами проще с лагами охотиться хехе. вот прыгнул пинг до 6 секунд = хана зайцу. майнкрафт слишком доверчивый )
Vort
вот эти прыжки вполне могут быть прогрузкой чанков. надо следить
Vort
чистый пинг если измерять, то стоя на месте
R4SAS
разогналось
R4SAS
s2#1
R4SAS
Uptime: 19 hours, 22 minutes, 9 seconds
R4SAS
Network status: OK
R4SAS
Network status v6: OK
R4SAS
Tunnel creation success rate: 71%
R4SAS
Received: 50.82 GiB (1248.38 KiB/s)
R4SAS
Sent: 53.16 GiB (1303.19 KiB/s)
R4SAS
Transit: 49.29 GiB (1208.68 KiB/s)
R4SAS
Routers: 6145 Floodfills: 1576 LeaseSets: 0
R4SAS
Client Tunnels: 223 Transit Tunnels: 3247
R4SAS
s2#2
R4SAS
Uptime: 22 hours, 30 minutes, 59 seconds
R4SAS
Network status: OK
R4SAS
Network status v6: OK
R4SAS
Tunnel creation success rate: 84%
R4SAS
Received: 24.15 GiB (872.44 KiB/s)
R4SAS
Sent: 27.75 GiB (1198.08 KiB/s)
R4SAS
Transit: 21.68 GiB (802.46 KiB/s)
R4SAS
Routers: 7248 Floodfills: 1579 LeaseSets: 141
R4SAS
Client Tunnels: 308 Transit Tunnels: 2741
R4SAS
s2#3
R4SAS
Uptime: 22 hours, 30 minutes, 37 seconds
R4SAS
Network status: OK
R4SAS
Tunnel creation success rate: 16%
weko
84%? норм так!
R4SAS
Received: 150.26 GiB (4346.21 KiB/s)
R4SAS
Sent: 153.96 GiB (4463.17 KiB/s)
R4SAS
Transit: 145.41 GiB (4116.93 KiB/s)
R4SAS
Routers: 6440 Floodfills: 1703 LeaseSets: 0
R4SAS
Client Tunnels: 39 Transit Tunnels: 3090
R4SAS
а тут всё те же 16%
R4SAS
s2#4
R4SAS
Uptime: 22 hours, 30 minutes, 38 seconds
R4SAS
Network status: OK
R4SAS
Tunnel creation success rate: 54%
R4SAS
Received: 135.79 GiB (2885.64 KiB/s)
R4SAS
Sent: 140.09 GiB (2896.24 KiB/s)
R4SAS
Transit: 133.50 GiB (2795.29 KiB/s)
R4SAS
Routers: 6541 Floodfills: 1663 LeaseSets: 0
R4SAS
Client Tunnels: 39 Transit Tunnels: 3193
R4SAS
и хоть там и 16% всего, но трафика на 35 Мбит
weko
прикольно, а как у тебя по сколько тразитной скорости набирается? у меня 500 обычно, иногда до 1000 скачет
weko
аптайм 6 дней уже
R4SAS
эти узлы работают годами
R4SAS
первые два - уже 3 года как минимум
R4SAS
3 и 4 - где то год
R4SAS
запустил когда начали SSU2 тестить
weko
а как это влияет?
weko
типо 3 года или месяц
R4SAS
ну... сеть знает длительное время, профилировщики уже отметили как постоянно доступный пир и тд
weko
ну у меня тоже много транзита есть +-
weko
просто его меньше
weko
но раза в 2-3
R4SAS
общая утилизация сети сейчас в районе 100 мбит/с
weko
а что это?
R4SAS
даже чутка больше
R4SAS
утилизация = потребление
weko
не оченб понял
weko
как это считается
R4SAS
ну, трафик на интерфейсе смотрящем в интернет примерно равен 100 мбит/с
R4SAS
т.е. активный трафик
weko
а, это у тебя?
R4SAS
да
weko
я не то поудмал
weko
разве минимум 6 дней профилировщикам мало?
weko
хотя на это же ещё количество транзита влияе, как я понял. попробую повысить
R4SAS
не знаю точно
R4SAS
никому не известно
R4SAS
тут еще от сети зависит
R4SAS
не только онлайна
weko
кстати отношение ssu2 к ntcp2 (количесто) уже 60%
weko
ну у меня так
R4SAS
zzz: look at stats below ;)))
R4SAS
** above
zzz
ok
zzz
I'm working on token problems
zzz
what's the max number of SSU2 tokens you save?
R4SAS
i didn't see any limit that by time
R4SAS
than
R4SAS
orignal: ?
zzz
we have a max of 512 and an expiration of one hour, but the oldest one is getting pushed out after a few minutes
zzz
more info in #ls2
R4SAS
I see only this: SSU2_NEXT_TOKEN_EXPIRATION_TIMEOUT = 52*60; // for next token block, in seconds
zzz
ok. if you don't have a size limit, you don't have my problem, but you may have a memory problem :)
R4SAS
I've seen only 130 MB RAM in peak
R4SAS
currenly all four nodes have 65~75 MB memory usage
R4SAS
and only one with 121 MB
weko
my node - 100 MB
R4SAS
(which is very loaded with bunch of tunnels with services)
weko
+
weko
так и должно быть, что перезагрузка туннелей сбрасывает все стримы прокси?
R4SAS
и да, и нет
weko
всмысле это известный баг?
R4SAS
да
R4SAS
без сброса стримов нельзя перезапустить туннель
R4SAS
это одно
weko
но не прокси не сбрасываются
weko
тоесть у меня нет изменений кофига прокси, но они всё равно сбрасывают стримы
R4SAS
второе - не доделано так, чтобы не сбрасывало
weko
понял
R4SAS
а у тебя на этом туннеле как прописан ключ?
R4SAS
transient?
weko
ааа
weko
понял
weko
спасибо
R4SAS
угу, поймали за яйца
R4SAS
)))
weko
а то я гадаю, чего это один прокси сбрасыватсся, а другой нет
weko
ну про udp вы вроде и так знаете
R4SAS
знаем
R4SAS
там тоже непойми как сделано
R4SAS
я не смог сделать нормальную остановку туннеля чтобы перезагружать его
R4SAS
а у лося времени не хватает
Vort
orignal: вот теперь и меня на ровном месте крешнуло
Vort
хорошо, что бинарник собирал я, смог по дизассемблерному листингу погадать, где оно вылетело
Vort
сразу скажу - результат мне не понравился. похоже на повреждение памяти
Vort
скорее всего, вылетело вот с этой строчки:
Vort
точнее, с FindPendingOutgoingSession
Vort
было разыменование какого-то огромного указателя. видимо, мусора
Vort
сейчас скажу точнее, как функции назывались. если IRC позволит. сам креш возник вот тут:
Vort
boost::asio::ip::detail::operator<(boost::asio::ip::detail::endpoint const&, boost::asio::ip::detail::endpoint const&)
Vort
вызов был сделан отсюда:
Vort
std::__1::__tree<std::__1::__value_type<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>,std::__1::shared_ptr<i2p::transport::SSU2Session>>,std::__1::__map_value_compare<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>,std::__1::__value_type<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>,std::__1::shared_ptr<i2p::transport::SSU2Session>>,std::__1::less<boost::asio::ip::basic_endpo
Vort
и вот эта длинная хрень вот отсюда:
Vort
i2p::transport::SSU2Server::CreateSession(std::__1::shared_ptr<i2p::data::RouterInfo const>, std::__1::shared_ptr<i2p::data::RouterInfo::Address const>, bool)
orignal
отлично
orignal
счас разберемся
Vort
сборка у меня с коммита 949c38f5
orignal
что вызывыает CreateSession лучше скажи
orignal
если есть
orignal
есть ощущение что из другого терда
Vort
ну я уже перезапустил i2pd, но сохранил дамп. попробую его грузануть
orignal
в любом случае погляжу
orignal
zzz thanks will check about number of tokens
orignal
but 512 is definitly too small
orignal
I would set it at least 10K
Vort
orignal: i2p::transport::Transports::ConnectToPeer(i2p::data::Tag<32ull> const&, i2p::transport::Peer &)
orignal
спс
orignal
этого достаточно
zzz
can't go that high, a java map is about 150 bytes of overhead per entry :(
orignal
usually there are few thousnads session on each router
orignal
Vort короче race condition
orignal
спасибо за находку
orignal
поставлю там мьютекс
zzz
orignal, I think I need to change and not send a token in the handshake... only with the destroy block
zzz
but I need to handle the destroy ack first...
orignal
up to you
zzz
you will handle a token block in the same packet as a destroy block, right? I do that now...
orignal
I just handle a block regrdless how it comes
zzz
super
orignal
Vort все я закоммтитил фикс
weko
у меня тут чего то i2pd шалить начал, резкие скачки с 50% до 200% (это на ядро)
weko
обычно где то 30-40
orignal
а сколько транзита?
weko
2700
orignal
может реальная нагрузка
weko
скорость то всего 500...
orignal
нет не число а трафик
orignal
еще проверь ulimit -n
weko
понят
weko
понял
orignal
если 1024 у тебя нехватка дескрипторов
orignal
ставь или 4095 или 8192
weko
да, раньше ставил, но на постоянку не поставилось
weko
после ребута слетело
orignal
так в /etc/seurity/limits.conf
orignal
ставь там
weko
всё равно скачки в 250. или нужнен рестарт роутера?
orignal
да
orignal
остави и заново
orignal
он стартовал с 1024
weko
понял
orignal
по мере роста SSU2 вылазят новые проблемы из-за большого числа сессиий
tst
orignal: предлагаю идею к реализации: сделать в ш2з нечто вроде bgp маршрутизации. это добавило бы скорости кмк и сделало бы менее эффективной атаку с вычислением пользователя/ресурса через замедление
tst
ш2з трафика