~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest29533
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
anon3
b3t4f4c3
fidoid
flumental
nemiga
not_bob_afk
plap
poriori
profetikla
segfault
soos
teeth
tensor
un
weko_
whothefuckami
Vort
построил график общего TCSR с момента запуска узла за сутки
Vort
зелёный цвет - успехи, желтый - таймауты, красный - фейлы
Vort
каких-то явных выводов за сутки сделать не могу
Vort
вижу, что сползание неравномерное. также кажется, что фейлы не сильно влияют - в основном, колеблется количество таймаутов
Vort
orignal: потестировал я ещё UU туннели. в итоге, из netdb теперь при активной сессии не выкидывает + теперь не строится парный туннели когда различается количество хопов. то есть, эти исправления работают
Vort
однако осталась ещё одна проблема. не создаётся 0хоп туннель при explicitPeers. из-за вот этой строчки. какая в неё логика вкладывалась?
Vort
github.com/PurpleI2P/i2pd/blob/0754255c1f597beba3f9dae5c21f7c99e927918b/libi2pd/TunnelPool.cpp#L575
orignal
ну наверное
orignal
я не понмю зачем так сделано
Vort
наверно чтобы 0хоп не создать случайно
orignal
логика в том что explicitPeers пустым быть не должен
Vort
ну вот наверно именно это и надо проверить
Vort
а если юзер явно захотел 0 хоп, то это его дело
Vort
может, так правильно? github.com/Vort/i2pd/commit/f13cc0b862646c0d13514d429d1472df1b948883
orignal
а там дальше случайно деления нету?
orignal
так смотри что
orignal
а нет
orignal
for (int i = 0; i < numHops; i++)
orignal
если у нас ноль то не построятся а будет return true;
Vort
вот я тоже думал, что список должен на две части делиться. но нет, сделано просто
Vort
может и стоит в будущем разделение на 2 части сделать, но пока что и того что есть хватает
orignal
потому что для explicitpeers нулевая длина не предусмотрена
Vort
ну да, будет return true
Vort
выберется пустой путь. что и нужно
orignal
а смысл?
orignal
ну давай PR тогде
Vort
я наверно плохо пояснил
Vort
если будет пустой m_ExplicitPeers, то ничего не построится, выйдет по return false
Vort
если будет нелевая длина туннеля, но не пустой m_ExplicitPeers, то построится 0 хоп (выйдет по return true)
orignal
а с чего ты взял что построится 0 ?
Vort
сейчас поясню
Vort
github.com/PurpleI2P/i2pd/blob/d3cd8517b7ecbdb016e6b23edc113bb6bd95268c/libi2pd/TunnelPool.cpp#L536
orignal
ye
orignal
ну
Vort
при 0 хопах и ненулевом m_ExplicitPeers, вот тут выйдет с true
orignal
так само построение то их не вызоется
Vort
дальше пойдёт вот в эту ветку github.com/PurpleI2P/i2pd/blob/d3cd8517b7ecbdb016e6b23edc113bb6bd95268c/libi2pd/TunnelPool.cpp#L610-L621
orignal
ну ладно
Vort
там уже обрабатывается этот случай: if (tunnel->IsEstablished ()) // zero hops
Vort
кстати, баганутые 0 хопов в этом месте намекают на то, что никто и не пытался измерение пропускной способности узлов делать :(
orignal
R4SAS делал
Vort
разве что делать без explicitPeers и надеяться на рандом
orignal
так для 0 какой рандом?
orignal
он же 0
Vort
так измеряемый пир же должен быть в туннеле
Vort
то есть, в одну сторону 1, в другую - 0
Vort
хотя, может, я что-то упускаю
Vort
я же не про случай, когда пир сам себя измеряет, говорю
Vort
а про измерение всех узлов в сети
Vort
кстати, пока я разбирался, почему не работает destination с explicitPeers, то понял, что я кое что упустил в своём анализе созданий SSU2 сессий
Vort
я логировал успех пира, фейл пира, таймаут пира, таймаут интродьюсера. а надо ещё логировать фейл интродьюсера
Vort
скорее всего, фейлы интродьюсера значительный процент сессий портят
Vort
сделал ещё одну гистограмму для длительностей постройки туннелей ^^
Vort
на этот раз сравниваю RRR и 3ххоповые U и R вперемешку
Vort
для RRR среднее значение - 1.7с, медиана - 0.7с
Vort
для U+R(3) - среднее значение - 3.9с, медиана - 1.1с
Vort
получается, присутствие U в туннеле хоть и сдвигает медиану, но не сильно. но вот на среднее влияет ощутимо - из-за толстого "хвоста"
orignal
надо чинить будет с итродьюсерами
Vort
то есть, когда "повезло", то строится довольно быстро (примерно так же, как и чисто R). но вот если не везёт (а это происходит часто), то длительность заметно возрастает
Vort
да, я уже некоторые странности успел заметить
Vort
но пока что с выводами не спешу - плохо ещё понял как всё работает
Vort
как пример странности - словил сегодня RI без интродьюсеров
Vort
тормошил один и тот же узел
Vort
и вот пришёл RI с итродьюсерами, потом "пустой", потом опять с интродьюсерами
Vort
смотрел несколько часов назад описание протокола. теперь решил ещё раз перечитать - а вот фиг. не открывается geti2p.net . кто-нибудь знает что там у джавистов случилось?
orignal
неужели нацик поломался?
orignal
так посмотри на гихабе
Vort
ага, гляну там
weko
i2p-projekt.i2p работает?
weko
у меня работает
Vort
какие-то байты стрим получил, но в браузере ничего не вижу
Vort
сделал тестовый запуск исправленного сбора статистики SSU2 соединений: на 5 таймаутов интродьюсеров получил 5 фейлов интродьюсеров
Vort
чтобы ещё повысить точность, придётся придумать, как логировать RI. так как i2pd после фейла их очень быстро удаляет