~AreEnn
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+relaybot
DUHOVKIN_
Guest7184
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
`
ananas
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
weko
whothefuckami
orignal
if (IsEstablished ())
orignal
{
orignal
SendQueue ();
orignal
if (m_SendQueue.size () > 0) // windows is full
orignal
Resend (i2p::util::GetMillisecondsSinceEpoch ());
orignal
}
orignal
ой блять какая дичь тут
Vort
до этого я скидывал сортировку по exclusive. вот inclusive:
orignal
и что сие означает?
Vort
exclusive - потребление CPU чисто кодом непосредственно функции
Vort
inclusive - вместе со всеми дочерними вызовами
orignal
вот это SendQueue опять здесь
Vort
но приём там жрёт в 3 раза больше отправки
Vort
HandleReceivedPacketsQueue
Vort
хотя не уверен
orignal
подозерваю он тоже SendQueue вызывает
Vort
там Ack`ов дофига...
orignal
ну вот Ack пришел место в окне освободилось снова send
Vort
на Ack`и раза в 3 больше времени тратится, чем на Queue
orignal
в смысле на отправку или обработку?
Vort
идут две цепочки вызовов: SendQuickAck -> SendData и SendQueue -> SendData
Vort
и вот SendData вызываемый Ack`ами жрёт больше
Vort
ну это не точно
Vort
надо тщательнее данные собирать
Vort
это я приблизительно говорю. нагрузка на сеть ведь колеблется
orignal
это странно
orignal
но счас гляну
orignal
CreateAckBlock
orignal
там если промежутки между сообщениями
orignal
тормозить будет
orignal
потому что построение диапазонов
orignal
короче маораль все это истории
orignal
нада давать приоритет NTCP2 ))
Vort
тестовая система нужна. которой можно задать набор тестов, указать коммит, подождать пока тестовая сеть запустится, отработает, измерится, завершится и получить результаты измерений
Vort
с реальной сетью такую проблему сложно загнать в угол, нужны контроллируемые условия
Vort
чтобы можно было менять характер нагрузки и делать регрессионное тестирование
un
orignal, < un> у exit stormycloud если его в socks out proxy поставить как порт понять ?
orignal
un у него нет порта
orignal
только дефолтный http
orignal
Vort но разница между SSU2 и NTCP2 сейчас заметна везде
un
я хочу сделать outproxy через stormy с локальным socks интерйейсом
orignal
у него нет сокса
un
а тоесть это фича server-side ?
orignal
естественно
orignal
если для аутпрокси
un
а http proxy поддерживает CONNECT ?
orignal
есественно
un
а ну заебись
orignal
https без проблем пойдет
un
да мне тупо tcp туннель надо
un
спасибо
orignal
почему товраищ майор не выдает сокс аутпрокси я не знаю
un
java там умеет?
un
у них там врядли i2pd
orignal
а че не уметь то? это же просто серверные тоннели
un
а у httpput proxy нет порта
un
я думал что какая тореализация такаяя. не смотрел код.
orignal
какой то все равно есть
orignal
просто он дефолтный
un
80?
orignal
да какой угодно
orignal
прокси ведь это внешнее приложение
orignal
на какой повесишь его на таком реально и будет
orignal
у товарища майора явно не технические соображения
Vort
"<~orignal> Vort но разница между SSU2 и NTCP2 сейчас заметна везде" да я понимаю, что, скорее всего, различия в активности сети так сильно влиять не могут. но одно дело догадки, а другое - доказательства. то же самое по поводу коммита. или чётко по
Vort
сле него изменение началось или "наверное"
un
тогде почему это есть socksproxy.outproxyport в этого нет httpproxy.outproxyport ?
Vort
ну и конечно же важен вопрос "NTCP2 стал быстрее или SSU2 медленнее", желательно с какими-то хоть доказательствами
orignal
un потому что в sockporxy аутрпрокси локальный
orignal
а в http удаленный
un
а типа httpotproxy может выполнять сам процесс i2pd?
un
типа делать коннект наружу?
un
или java процесс?
orignal
Vort очевидно что это нагружзка на NTCP2 сталаа меньше
orignal
потому что этот тред стал потреблять меньше чем Tunnels
Vort
нагрузка стала меньше или код стал эффективнее?
orignal
явно и-за изменений в коде
Vort
в таком случае пропорции SSU2 / NTCP2 тредов не являются "возникшей проблемой", которую надо как-то решать
Vort
то есть, я так понимаю, SSU2 остался на том же уровне, а NTCP2 стал быстрее. ну и ладно
orignal
на есть вариант что просто данные теряются
orignal
транзитные
orignal
но вряд ли
un
<~orignal> un потому что в sockporxy аутрпрокси локальны <<< кароче я не понял
orignal
но если все правильно то встает вопрос как чинить SSU2
un
в http прокси как?
orignal
в http прокси ты указываешь i2p адрес
orignal
а в socks прокси ты указываешь или 127.0.0.1 или локальный сокет
Vort
"<~orignal> на есть вариант что просто данные теряются" _стали_ теряться из-за оптимизации NTCP2 что ли? я не уловил мысли
orignal
ну например я в коде OBEP что то накосячил
orignal
но тогда бы и на SSU2 влияло
un
в http прокси ты указываешь i2p адрес <<< куда тогда идет пакет на стороне сервера?
Vort
так делай мини-тестовую сеть. как я ~полгода назад. два-три локальных узла и гнать стримы через них пока в CPU не упрётся. если какие-то новые потери появились - будет чётко видно
orignal
un туда куда перенаправить пакет в клирнет
orignal
а с ним уже будет разбираться та сторона
Vort
заодно так и производительность измерить можно. тупо по скоростям в iperf3
Vort
только в узлах транспорты соответствующие поставить
un
какой процесс перенаправляет пакет в clear? a) в случае с i2pd b) в случае с java
orignal
un это не зависит от того джава или i2pd
orignal
у меня 3proxy стоит там
orignal
у майора вроде бы tinyproxy
un
тоесть тип = socks в туннелях - это просто как тип client? только поддерживате на локальной стороне socks протокол?
un
или даже не поддерживает ?
orignal
нет конечно
orignal
clinet всегда ведет только на один i2p адрес
orignal
а socks идет на любой адрес который указан при становки соединения
un
если для socks out proxy надо указывать порт и на другой стороне ставить socks прокси, то чем это отличается от client тунеля простого
un
чем отличается irc от сервер типов?
un
этоэто по сути одно и тоже
un
поставил на хосте процесс который слушает на порту 1234
un
сделал туннель тип server generic
un
на клиента поднял type client казал dest i2pd addr и dest port который равен на сервере port
un
и все
orignal
* [un] is connecting from *@34rpxrqkcdl7buha2ufnjjwprgtxp6rwcohiiwfgjd2jwmlqafua.b32.i2p 127.223.34.251
orignal
вот этим
un
гоняй там хоть irc хоть socks
orignal
то есть тоннель IRC делает b32 адреса
un
а в irc получается как irс прокси или типа
orignal
а иначе да можно просто server
un
type = irc поддерживает irc протокол?
orignal
технически как webirc
un
если будет type = server то все ip - loopback
un
ну понятно
orignal
он его парсит и заменяет запросы
un
в http также? remote ip в заголовке проставляется?
orignal
да
orignal
там добавляются поля
orignal
и некоторые лишние вырезаются в ответе
un
а когда в http proxy указывает outproxy то как то на другую сторону говориться что надо коннект наружу
orignal
если адрес не .i2p значит наружу
un
если адрес не i2p то i2pd шел запрос на outproxy
un
он как-то говорит что это out коннекция?
un
другой стороне
un
или там просто сервис такой поднял что все коннеции на него есть на out?
orignal
так если та сторона прокси она сама знает что ей пришло
un
[alt-socks]
un
type = socks
un
address = 127.0.0.1
un
port = 14447
un
keys = socks-keys.dat.
un
outproxy = i2pb32
un
outproxyport = номер на той стороне?
un
так ?
orignal
нет
orignal
для скос только локальный
orignal
outproxy=127.0.0.1
orignal
outproxyport=9050
orignal
грубо говоря
un
а-а-а-а я понял
orignal
либо outproxy=/tmp/outproxy.socks
orignal
outproxyport=0
orignal
если хочет сокс пперенапрвить на удаленный то поднимай клиентский тоннель до него
un
нельзя у себя поднять socks интерфейс чтобы к нему по сокс идет приложение и в clear уходит на outproxy
orignal
и в конфиге указывай его
orignal
можно конечно
orignal
я только что написал
un
на outproxу на другой стороне я имел ввиду
orignal
так я тебе и сказал как
orignal
поднимаешь клиенский тоннель до него
orignal
и в outrorixyport указываешь порт клиенского тоннеля
orignal
но там на другом конеце должен быть сокс прокси
orignal
с майором так не выйдет
orignal
только если поднять какой то локальный прокси преобразующий http в socks
un
а httpproxy типе тунеля в tunnels.conf можно указать outproxy = ?
orignal
да
orignal
он точно такой же
orignal
Vort я вот что думаю по поводу SSU2
orignal
там когда акк надо генерить с дипаонами то надо него сохранять с предыдщего
orignal
и если пришел новый пакет по порядку то менять только ackTrough
orignal
а диапазоны копировать из сихраненного
Vort
не настолько разбираюсь в подробностях, чтобы что-то по этому поводу прокомментировать. разве что считаю важным не терять контроль над ситуацией - чтобы код не развалился от оптимизаций
Vort
с такой скоростью, как сейчас юзеры обновляются, внесенная ошибка может болтаться годами
orignal
так ты сам на эту функци. указал
orignal
что она жрет много
tetrimer
orignal: Последние изменения - всё так же приводят к корке на FreeBsd. Но теперь в gdb почему то сплошные знаки вопроса. Собирал с дебагом.
orignal
значит уже другое падение
orignal
там их морре
tetrimer_
Единственно разумное в последней корке:
tetrimer_
Program terminated with signal SIGSEGV, Segmentation fault.
tetrimer_
Address not mapped to object.
tetrimer_
#0 0x0000000822027498 in ?? () from /usr/local/lib/libcrypto.so.12
tetrimer_
И gdb вылетает после команды bt
orignal
ну это ни о чем не говорит
Vort
orignal: так а ты то пробовал эти креши ловить или чинил "по логике"?
Vort
(ловить = воспроизводить у себя)
orignal
у меня они не случаются
Vort
без graceful выключать пробовал?
orignal
если бы случались я бы починил
orignal
не пробовал а зачем?
Vort
обычно достаточно минуту подержать флудфил онлайн и сделать быстрый выход
Vort
чтобы креши починить. так быстрее воспроизводится
Vort
на основном узле такое делать, конечно, не стоит
orignal
какой то vdBr засирает тразиты
Vort
отдельный узел можно поднять и дёргать его туда-сюда пока все креши не вытрусишь )
orignal
можно но не приоритетно
Vort
у меня 4 штуки vdBr всего
orignal
а у меня вот штук 20 причем тразитны тоннелей всего где то 50
Vort
без воспроизводения крешей там сложно понять, в чём дело. довольно путаная процедура завершения работы узла
orignal
знаб