~AreEnn
                        
                        
                            ~R4SAS
                        
                        
                            ~acetone
                        
                        
                            ~orignal
                        
                        
                            ~villain
                        
                        
                            &N00B
                        
                        
                            +Xeha
                        
                        
                            GFW
                        
                        
                            Nobody
                        
                        
                            Opax
                        
                        
                            WebClient95
                        
                        
                            anon
                        
                        
                            anontor
                        
                        
                            anonuser
                        
                        
                            b3t4f4c3
                        
                        
                            deserving-stegosaur
                        
                        
                            duanin2
                        
                        
                            fidoid
                        
                        
                            fujifilm
                        
                        
                            halloy1341
                        
                        
                            iiii
                        
                        
                            kaneki
                        
                        
                            karamba_i2p
                        
                        
                            leopold
                        
                        
                            mareki2p
                        
                        
                            negative_rock127
                        
                        
                            nik0tr
                        
                        
                            not_bob_afk
                        
                        
                            ntty
                        
                        
                            osoznayka
                        
                        
                            poriori
                        
                        
                            profetikla
                        
                        
                            rc13
                        
                        
                            shaye
                        
                        
                            slfd
                        
                        
                            sonya
                        
                        
                            teeth
                        
                        
                            un
                        
                        
                            weko_
                        
                        
                            КрутыеЖиды]]]]]]]]]]]]]_Z
                        
                    
                    
                        onon1
                    
                    
                        Это что-то странное, нужно погонять подольше.
                    
                
                
                    
                        onon1
                    
                    
                        Эта "дохленькая" машинка, показывает очень обнадёживающие результаты с буфером в 16мб. Она раньше такую нагрузку не держала.
                    
                
                
                    
                        onon1
                    
                    
                        Единственное, что смущает - куча ошибок error - I2PTunnel: Read error: End of file а логе.
                    
                
                
                    
                        orignal
                    
                    
                        это надо поменять тип ошибки
                    
                
                
                    
                        orignal
                    
                    
                        это просто закрытие сокета
                    
                
                
                    
                        orignal
                    
                    
                        короче я считаю нужен параметр в конфиге у кого памяти завались пусть 16M ставит
                    
                
                
                    
                        onon1
                    
                    
                        Держит транзит 2мб 13к туннелей ещё и клиентов обслуживает исправно.
                    
                
                
                    
                        orignal
                    
                    
                        и все на чистом SSU2?
                    
                
                
                    
                        onon1
                    
                    
                        Не, нтцп не выключал
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: хаха
                    
                
                
                    
                        onon1
                    
                    
                        Стоит выключить?
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: проблемы с ссу2 опять ?
                    
                
                
                    
                        orignal
                    
                    
                        нет не стоит
                    
                
                
                    
                        orignal
                    
                    
                        apophis так мы вот и разбираемся с его буферами
                    
                
                
                    
                        onon1
                    
                    
                        Не может всё так быть хорошо, где-то должен быть косяк, нужно тестировать.
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: > orignal: apophis так мы вот и разбираемся с его буферами
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: я в курсе, я читаю вас. Я пытался сказать тебе давно еще, что из за того, что у вас разработка идет быстрее чем у явы роутера, может стоило "отрезать" их всех о <clipped message>
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: т испытаний и рзменений ( чтобы не мешали) и отрабатывать на чистой и2п сети. Потом бы помогли им подстроится, когда бы сами были в порядке.
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: *чистой и2пд сети
                    
                
                
                    
                        orignal
                    
                    
                        возможно
                    
                
                
                    
                        onon1
                    
                    
                        Для этого придумали строить тестовые сети
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: дело то ваше, конечно .. как решите так и будет.
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: тестовые сети на одном компутере .. это не то :(
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: сами знаете почему...
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: ну дело то ваше...
                    
                
                
                    
                        onon1
                    
                    
                        Сам придумал про один компьютер, сам опроверг, сам с гордостью удалился... =)
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: разве вы делали тестовые сети > 1 компутер ?
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: не будь ребенком, анон1 ... я читаю иногда что тут делается
                    
                
                
                    
                        onon1
                    
                    
                        Ты знаешь, сколько у меня машин под контролем?
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: поставить 300 роутеров на один тцпип стак на одном компутере .. это не чистый експеримент
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: я говорю про то, что тут писали ... что там у тебя ... мне неведомо.
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: дело то ваше...
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: что казается тестовых сетей с нетИД отличным от этой, то такие и раньше были. Они то и нужны
                    
                
                
                    
                        onon1
                    
                    
                        Я пытаюсь в итернетах найти описание возможных проблем с большим буфером UDP, и не могу ничего найти, везде его предлагают увеличивать по мере возможности. Начиная от 25мб и выше.
                    
                
                
                    
                        orignal
                    
                    
                        я вижу проблему только в потрбелении памяти
                    
                
                
                    
                        orignal
                    
                    
                        насечт 25М спасибо
                    
                
                
                    
                        orignal
                    
                    
                        на работе поставим сразу 32М
                    
                
                
                    
                        orignal
                    
                    
                        у нас там на машинах памяти по 128 гигов
                    
                
                
                    
                        Vort
                    
                    
                        "<~orignal> откуда оно берется пока не понтяно" я рассказывал, откуда. это проблема с логикой завершения SSU2 сессии
                    
                
                
                    
                        onon1
                    
                    
                        Я, кстати даже на 32метровом буфере наловил эксепшнов под нагрузкой...
                    
                
                
                
                    
                        Vort
                    
                    
                        onon1: это странно. разве это не означает лаг секунд в 10?
                    
                
                
                    
                        Vort
                    
                    
                        как ексепшен кстати выглядит? может это какой-то другой ещё лезет в дополнение?
                    
                
                
                    
                        onon1
                    
                    
                        Лаг между чем и чем?
                    
                
                
                    
                        Vort
                    
                    
                        между отправкой UDP пакета из приложения и отправкой пакета по сети
                    
                
                
                    
                        onon1
                    
                    
                        SSU2: Send exception: Resource temporarily unavailable to 137.134.162.186:24951
                    
                
                
                    
                        onon1
                    
                    
                        Может мы просто пытаемся в буфер засунуть очень много пакетов?
                    
                
                
                    
                        onon1
                    
                    
                        Одновременно
                    
                
                
                    
                        Vort
                    
                    
                        32 мегабайта? тогда это баг
                    
                
                
                    
                        Vort
                    
                    
                        нет таких скоростей же сейчас
                    
                
                
                    
                        Vort
                    
                    
                        может, ОС лимитирует максимум? там можно в коде поставить рядом запрос на чтение макс размера буфера
                    
                
                
                    
                        onon1
                    
                    
                        Ну я пока 100мб поставил буфер, смотрю.
                    
                
                
                    
                        Vort
                    
                    
                        и посмотреть, вернётся ли то же значение или нет
                    
                
                
                    
                        onon1
                    
                    
                        Максимум 2гб вроде
                    
                
                
                    
                        Vort
                    
                    
                        ну если вернётся то же - значит не лимитирует
                    
                
                
                    
                        Vort
                    
                    
                        это обязательно надо проверить
                    
                
                
                    
                        Vort
                    
                    
                        у меня на 4 мегабайтном буфере так ни одного исключения и не вылезло
                    
                
                
                    
                        Vort
                    
                    
                        или, может, линуксу надо, чтобы вначале неблокирующий режим включился, а только потом размер буфера был поставлен
                    
                
                
                    
                        onon1
                    
                    
                        Нет, я системный буфер меняю
                    
                
                
                    
                        Vort
                    
                    
                        "<onon1> Нет, я системный буфер меняю" - получается мы всё это время о разных вещах говорили
                    
                
                
                    
                        Vort
                    
                    
                        orignal: похоже, onon не тот буфер менял. надо будет перепроверять результаты
                    
                
                
                    
                        onon1
                    
                    
                        /proc/sys/net/core/rmem_max
                    
                
                
                    
                        onon1
                    
                    
                        /proc/sys/net/core/wmem_max
                    
                
                
                    
                        onon1
                    
                    
                        /proc/sys/net/core/wmem_default
                    
                
                
                    
                        onon1
                    
                    
                        /proc/sys/net/core/rmem_default
                    
                
                
                    
                        onon1
                    
                    
                        То, не то?
                    
                
                
                    
                        Vort
                    
                    
                        не то
                    
                
                
                    
                        Vort
                    
                    
                        точнее, не совсем то
                    
                
                
                    
                        Vort
                    
                    
                        rmem_max и wmem_max не должны быть помехой, да
                    
                
                
                    
                        Vort
                    
                    
                        помехой для установки реального значения
                    
                
                
                    
                        Vort
                    
                    
                        у тебя всё время буфер был на 128к
                    
                
                
                    
                        Vort
                    
                    
                        onon1: вот это менять надо было:  github.com/PurpleI2P/i2pd/blob/692f495adc6701fd3b6b51002254051c0996ac0d/libi2pd/SSU2.h#L28-L29   
                    
                
                
                    
                        onon1
                    
                    
                        Короче я системный поднял, а роутер его всё равно не использовал?
                    
                
                
                    
                        Vort
                    
                    
                        роутер его переопределяет (если системный максимум позволяет)
                    
                
                
                    
                        Vort
                    
                    
                        какой wmem_max был, кстати, до твоих изменений?
                    
                
                
                    
                        onon1
                    
                    
                        212кб
                    
                
                
                    
                        Vort
                    
                    
                        опять линуксы проблемы создают :/
                    
                
                
                    
                        Vort
                    
                    
                        скорее всего, если поставить 4 мегабайта в i2pd, то система поставит вместо этого 212кб. пока юзер не полезет в систему. а нафига это юзеру вообще надо? бред какой-то
                    
                
                
                    
                        Vort
                    
                    
                        это не юзер должен решать, а разработчик программы
                    
                
                
                    
                        onon1
                    
                    
                        Сколько поставить буфер для теста?
                    
                
                
                    
                        Vort
                    
                    
                        так разные значения проверять надо
                    
                
                
                    
                        onon
                    
                    
                        Ты скажи, будем тестировать разные
                    
                
                
                    
                        Vort
                    
                    
                        можно увеличивать в 2 раза
                    
                
                
                    
                        Vort
                    
                    
                        было 128к, поставить 256к
                    
                
                
                    
                        Vort
                    
                    
                        будут лезть ексепшены - ещё в 2 раза увеличить
                    
                
                
                    
                        onon
                    
                    
                        В хексе это сколько
                    
                
                
                    
                        onon
                    
                    
                        2FFFF
                    
                
                
                    
                        onon
                    
                    
                        Так?
                    
                
                
                    
                        Vort
                    
                    
                        3FFFF вместо 1FFFF
                    
                
                
                    
                        onon
                    
                    
                        Системный буфер какой поставить перед запуском?
                    
                
                
                    
                        Vort
                    
                    
                        больше этого значения. можно поставить мегабайт 16, чтобы о нём не вспоминать больше при этих тестах
                    
                
                
                    
                        Vort
                    
                    
                        я кстати хочу сделать сейчас коммит, который будет показывать, какой размер буфера получилось установить
                    
                
                
                    
                        Vort
                    
                    
                        можно сделать так, что при расходжении будет ошибка в лог выдаваться
                    
                
                
                    
                        onon
                    
                    
                        Мне подождать?
                    
                
                
                    
                        Vort
                    
                    
                        не надо. я на виртуалке проверю
                    
                
                
                    
                        onon
                    
                    
                        Ок
                    
                
                
                    
                        onon
                    
                    
                        Косяк, конечно. Я думал роутер использует весь доступный буфер по умолчанию.
                    
                
                
                    
                        Vort
                    
                    
                        похоже, нашёл ошибку в документации: "## By default logs go to stdout with level 'info' and higher"
                    
                
                
                    
                        Vort
                    
                    
                        у меня вывод был warn на линуксе
                    
                
                
                    
                        Vort
                    
                    
                        пока я не поменял в конфиге
                    
                
                
                    
                        tetrimer
                    
                    
                        Мне кажется смысл этой фразы немного в другом: сообщения идут на stdout при включенном уровне логирования Info или выше.
                    
                
                
                    
                        Vort
                    
                    
                        сделал вывод в лог размер буферов ssu2:  github.com/PurpleI2P/i2pd/pull/2031 
                    
                
                
                    
                        Vort
                    
                    
                        код получился объёмный, но таков boost
                    
                
                
                    
                        onon
                    
                    
                        Оно же только один раз будет вызываться, при старте?
                    
                
                
                    
                        Vort
                    
                    
                        дважды. ну да не важно
                    
                
                
                    
                        Vort
                    
                    
                        для ipv4 и ipv6
                    
                
                
                    
                        Vort
                    
                    
                        я тестировал только на ipv4, не подумал о втором сокете
                    
                
                
                    
                        Vort
                    
                    
                        но это мелочи
                    
                
                
                    
                        Vort
                    
                    
                        забыл сказать - винда 4 меговый буфер не ограничила. линукс ограничил, но после изменения rmem_max и wmem_max и он нормальное значение согласился поставить
                    
                
                
                    
                        Vort
                    
                    
                        ну и никаких крешей. просто при упоре в лимит ставится меньшее значение
                    
                
                
                    
                        onon
                    
                    
                        Так что, новый холивар, линукс мастдай? Винда форева?
                    
                
                
                    
                        Vort
                    
                    
                        так разработчики же ОС не выбирают ) приходится иметь дело с тем, что есть )
                    
                
                
                    
                        Vort
                    
                    
                        вот в данном случае придётся так же, как и в случае лимитов на дескрипторы, убеждать юзеров менять настройки системы...
                    
                
                
                    
                        Vort
                    
                    
                        кстати, по поводу асинхронных сокетов - не факт, что они могут помочь избежать проблемы с переполнением буфера
                    
                
                
                    
                        Vort
                    
                    
                        так что, полагаю, адекватную реакцию на такую ситуацию всё равно приёдтся продумывать
                    
                
                
                    
                        Vort
                    
                    
                        пока что можно просто игнорировать, "спрятав" ексепшен подальше
                    
                
                
                    
                        Vort
                    
                    
                        это явно будет лучше, чем блокирующий режим
                    
                
                
                    
                        Vort
                    
                    
                        но потом, может, удастся придумать что-то получше
                    
                
                
                    
                        onon
                    
                    
                        Получается, что даже без увеличения буфера у меня на слабом железе при socket.non_blocking (true); заметно увеличилась производительность...
                    
                
                
                    
                        Vort
                    
                    
                        onon: перестал заклинивать поток SSU2, как я понимаю
                    
                
                
                    
                        Vort
                    
                    
                        скорее всего, 4 меговые буферы - это дохрена даже для X узла
                    
                
                
                    
                        Vort
                    
                    
                        думаю, стоит выбрать максимально допустимый лаг и от него считать
                    
                
                
                    
                        Vort
                    
                    
                        если максимальный лаг - 200мс, то с моим лимитом bandwidth = 6144 это получаются буферы 1228 килобайт
                    
                
                
                    
                        Vort
                    
                    
                        максимум на 4 мега поставить вполне можно - для людей с гигабитными каналами
                    
                
                
                    
                        Vort
                    
                    
                        но при обычной нагрузке на узел в 3-4 мегабайта/сек - так много не нужно
                    
                
                
                    
                        Vort
                    
                    
                        лаг = сколько мы максимально позволяем системе тупить с отправкой пакета. то есть, время, через которое этот пакет устарел и лучше его уже не отправлять
                    
                
                
                    
                        tetrimer
                    
                    
                        В udp разве бывает так, что "пакет устарел" и его можно не отправлять?
                    
                
                
                    
                        onon
                    
                    
                        На 256кб под нагрузкой вылазит ошибка.
                    
                
                
                    
                        onon
                    
                    
                        На сколько поднимать?
                    
                
                
                    
                        Vort
                    
                    
                        onon: в 2 раза
                    
                
                
                    
                        Vort
                    
                    
                        7FFFF
                    
                
                
                    
                        Vort
                    
                    
                        "<tetrimer> В udp разве бывает так, что "пакет устарел" и его можно не отправлять?" я имею в виду по логике i2pd
                    
                
                
                    
                        Vort
                    
                    
                        onon1: можешь опять проверить пинг туннеля с explicit peers через свой другой узел? только на этот раз с non-blocking изменениями на двух сторонах
                    
                
                
                    
                        onon1
                    
                    
                        Да уже проверял. Пинга как будто нет. Даже, когда узел под нагрузкой пинг вырастает совсем незначительно.
                    
                
                
                    
                        onon
                    
                    
                        Только если стрессом проц упереть в потолок, подскакивает пинг
                    
                
                
                    
                        Anonymous
                    
                    
                         geti2p.net/en/get-involved/todo#batching  so tunnels are sometimes throttled for anonymity, but if we find alternative, we maybe gain on speed/latency?
                    
                
                
                    
                        Anonymous
                    
                    
                        it would be fun to have speed/low latency without having to compromise with anonymity
                    
                
                
                    
                        Anonymous
                    
                    
                        orignal: do you think switching router keys automatically can contribute to anonymity?
                    
                
                
                    
                        Vort
                    
                    
                        onon1: то есть, туннели живут весь положенный срок и нормально пересоздаются?
                    
                
                
                    
                        onon1
                    
                    
                        Сложно сказать, у меня они и так не дропаются, даже при фейле теста, но фейлов теста на этой паре я не замечал
                    
                
                
                    
                        Anonymous
                    
                    
                        I understand that having an ident is a part of profiling, but can we afford to start a-fresh?
                    
                
                
                    
                        Anonymous
                    
                    
                        I suppose that the IP address and port number could correlate your new router ident with the new router ident
                    
                
                
                    
                        Anonymous
                    
                    
                        Any solutions?
                    
                
                
                    
                        Anonymous
                    
                    
                        R4SAS: maybe you can do better with English than orignal
                    
                
                
                    
                        Anonymous
                    
                    
                        I try to use basic English
                    
                
                
                    
                        orignal
                    
                    
                        ясен пень что надо менять буфер который в SSU2.cpp ставится
                    
                
                
                    
                        orignal
                    
                    
                        так что решили сколько ставим?
                    
                
                
                    
                        onon1
                    
                    
                        метр
                    
                
                
                    
                        Vort
                    
                    
                        ну я вон выше сделал предложение
                    
                
                
                    
                        onon1
                    
                    
                        Я голосую за метр
                    
                
                
                    
                        Vort
                    
                    
                        а я за 0.2*bw
                    
                
                
                    
                        Vort
                    
                    
                        orignal: посмотри ещё выше я писал про лимиты линукса - не всё так просто
                    
                
                
                    
                        orignal
                    
                    
                        а если 48 K?
                    
                
                
                    
                        orignal
                    
                    
                        а что там с ним?
                    
                
                
                    
                        Anonymous
                    
                    
                        Maybe I should think this trough more and make a proposal, with all goods and bads of this
                    
                
                
                    
                        Vort
                    
                    
                        orignal: сверху на 0.2*bw ещё ограничить минимум, максимум и можно переопределить конфигом
                    
                
                
                    
                        Vort
                    
                    
                        изначальное предложение min 128k max 4M я считаю правильным
                    
                
                
                    
                        Vort
                    
                    
                        "<~orignal> а что там с ним?" без изменения системных настроек максимальный размер буфера 208K
                    
                
                
                    
                        Vort
                    
                    
                        надо юзеров будет просить менять
                    
                
                
                    
                        orignal
                    
                    
                        это же легоко проверить
                    
                
                
                    
                        Vort
                    
                    
                        а вот я PR сделал
                    
                
                
                    
                        orignal
                    
                    
                        достаточно взять текущее значение
                    
                
                
                    
                        Vort
                    
                    
                        который пишет в лог
                    
                
                
                    
                        Vort
                    
                    
                        если есть расхождения
                    
                
                
                    
                        orignal
                    
                    
                        смержил
                    
                
                
                    
                        Vort
                    
                    
                        хорошо
                    
                
                
                    
                        orignal
                    
                    
                        Anonymous your genious ideas are worhtless here
                    
                
                
                    
                        Anonymous
                    
                    
                        Your English is worthless, faggot
                    
                
                
                    
                        orignal
                    
                    
                        Vort ну так сделаешь размер буфера ты или мне делать?
                    
                
                
                    
                        orignal
                    
                    
                        then start learning Russian
                    
                
                
                    
                        Vort
                    
                    
                        да у меня вопросы есть
                    
                
                
                    
                        orignal
                    
                    
                        давай
                    
                
                
                    
                        Vort
                    
                    
                        к примеру, стоит ли одинаковый алгоритм брать для send и recv ?
                    
                
                
                    
                        Vort
                    
                    
                        и, соотвественно, задавать константой максимум
                    
                
                
                    
                        Anonymous
                    
                    
                        orignal: eat shit nigger, English is no.1, you should start learning it if you want to make i2pd as better as soon possible, 1 person learns English is better than 100 people learning Russians
                    
                
                
                    
                        Anonymous
                    
                    
                        Russian* learn math
                    
                
                
                    
                        Anonymous
                    
                    
                        stupid nigger
                    
                
                
                    
                        Anonymous
                    
                    
                        And you wonder why i2pd and with it I2P aren't famous
                    
                
                
                    
                        Anonymous
                    
                    
                        because YOU DO NO KNOW HOW TO ENGLISH
                    
                
                
                    
                        Anonymous
                    
                    
                        stupid shit
                    
                
                
                    
                        onon
                    
                    
                        xD
                    
                
                
                    
                        Anonymous
                    
                    
                        You are so smart and genious, yet fail to realize simple truth
                    
                
                
                    
                        Anonymous
                    
                    
                        It's actually sad, not funny
                    
                
                
                    
                        Anonymous
                    
                    
                        Because he will ignore this and still not learn English
                    
                
                
                    
                        Anonymous
                    
                    
                        And I love him, but he's so stupid
                    
                
                
                    
                        Anonymous
                    
                    
                        orignal: you are a developer, but also a liability to i2pd
                    
                
                
                    
                        Anonymous
                    
                    
                        You lack a cruicial component that most good programmers have
                    
                
                
                    
                        orignal
                    
                    
                        Vort вряд ли у нас поток будет ассиметричный
                    
                
                
                    
                        Anonymous
                    
                    
                        and that's communication
                    
                
                
                    
                        orignal
                    
                    
                        ты же не раздаешь/получаешь фиды мультикастом?
                    
                
                
                    
                        Vort
                    
                    
                        ну тогда я начну с общего лимита. и пока не буду трогать конфиг
                    
                
                
                    
                        tetrimer
                    
                    
                        ~orignal: Свой плюс транзит? 
                    
                
                
                    
                        tetrimer
                    
                    
                        Всегда будет асимметричным, но потребуется угадать - в какую сторону?
                    
                
                
                    
                        orignal
                    
                    
                        tetrimer если у тебя узел нагружет взяд ли будет большая ассиметрия
                    
                
                
                    
                        orignal
                    
                    
                        так о том и речь
                    
                
                
                    
                        Anonymous
                    
                    
                        FUCK RUSSIAN
                    
                
                
                    
                        orignal
                    
                    
                        если например ты случшаешь фиды по мультикасту понятно что у тебя только получение
                    
                
                
                    
                        orignal
                    
                    
                        если раздаешь то отправка
                    
                
                
                    
                        tetrimer
                    
                    
                        Наверное правильнее сделать одинаковыми.
                    
                
                
                    
                        orignal
                    
                    
                        а тут правильнее делать симметричноэ
                    
                
                
                    
                        Anonymous
                    
                    
                        i2pd will never become famous or secure if most active developer orignal does not learn English good
                    
                
                
                    
                        Anonymous
                    
                    
                        Mark my words
                    
                
                
                    
                        Anonymous
                    
                    
                        movies are good sources of English, and entertaining
                    
                
                
                    
                        Anonymous
                    
                    
                        orignal: watch English movies, noob
                    
                
                
                    
                        orignal
                    
                    
                        заебал
                    
                
                
                    
                        Vort
                    
                    
                        я опять в какой-то баг вляпался. и вроде же что-то подобное уже чинилось
                    
                
                
                    
                        Vort
                    
                    
                        придётся отложить тесты SSU2 буферов
                    
                
                
                    
                        orignal
                    
                    
                        что за баг?
                    
                
                
                    
                        Vort
                    
                    
                        orignal: проблема с очередным unique_lock
                    
                
                
                    
                        orignal
                    
                    
                        может быть
                    
                
                
                    
                        Vort
                    
                    
                        TunnelPool::GetNextOutboundTunnel
                     
                
                
                    
                        Vort
                    
                    
                        std::unique_lock<std::mutex> l(m_OutboundTunnelsMutex);
                    
                
                
                    
                        Vort
                    
                    
                        вот с этим
                    
                
                
                    
                        Vort
                    
                    
                        сейчас второй тред гляну
                    
                
                
                    
                        orignal
                    
                    
                        а там то что может быть?
                    
                
                
                    
                        orignal
                    
                    
                        только что надо поменячть на lock_guard
                    
                
                
                    
                        Vort
                    
                    
                        а тьфу, тут же не во втором треде дело. в этом же самом где-то блокировка
                    
                
                
                    
                        Vort
                    
                    
                        я пока не вижу с чем это место конфликтует
                    
                
                
                    
                        orignal
                    
                    
                        так посмотри стек
                    
                
                
                    
                        Vort
                    
                    
                        тут хуже ситуация
                    
                
                
                    
                        Vort
                    
                    
                        это не двойной блок
                    
                
                
                    
                        Vort
                    
                    
                        похоже нулевой указатель
                    
                
                
                    
                        Vort
                    
                    
                        auto pool = i2p::tunnel::tunnels.GetExploratoryPool ();
                     
                
                
                    
                        Vort
                    
                    
                        pool = empty
                    
                
                
                    
                        Vort
                    
                    
                        какого фига...
                    
                
                
                    
                        Vort
                    
                    
                        короч pool надо на ноль проверять
                    
                
                
                    
                        Vort
                    
                    
                        а почему так... ну у меня ошибка вылезла про занятый порт прокси. может, пока висит ошибка, пул не создаётся. хз
                    
                
                
                    
                        Vort
                    
                    
                        (в NetDbRequests::SendNextRequest)
                     
                
                
                    
                        Vort
                    
                    
                        orignal: что-то надо ещё по этой проблеме ловить или вырубать отладчик? я всё же собирался буферы тестировать
                    
                
                
                    
                        orignal
                    
                    
                        а как explratory может стать нулем?
                    
                
                
                    
                        Vort
                    
                    
                        ну не инициализироваться
                    
                
                
                    
                        Vort
                    
                    
                        это при старте узла вылезло
                    
                
                
                    
                        orignal
                    
                    
                        так он при старте тоннелей же создается
                    
                
                
                    
                        orignal
                    
                    
                        аааа при старте
                    
                
                
                    
                        orignal
                    
                    
                        может где то зависло
                    
                
                
                    
                        orignal
                    
                    
                        это погляжу
                    
                
                
                    
                        Vort
                    
                    
                        на mesagebox с ошибкой могло?
                    
                
                
                    
                        Vort
                    
                    
                        какой тред глянуть?
                    
                
                
                    
                        orignal
                    
                    
                        я не понмю он вроде в тоннелеях создается
                    
                
                
                    
                        orignal
                    
                    
                        или в контексте
                    
                
                
                    
                        orignal
                    
                    
                        давно делал
                    
                
                
                    
                        Vort
                    
                    
                        Tunnels спит
                    
                
                
                    
                        Vort
                    
                    
                        странно
                    
                
                
                    
                        orignal
                    
                    
                        там странный код
                    
                
                
                    
                        Vort
                    
                    
                        короч он ещё не проснулся
                    
                
                
                    
                        orignal
                    
                    
                        он создает в void Tunnels::ManageInboundTunnels (uint64_t ts)
                    
                
                
                    
                        Vort
                    
                    
                        ни разу не выполнялся
                    
                
                
                    
                        Vort
                    
                    
                        // wait for other parts are ready
                    
                
                
                    
                        Vort
                    
                    
                        вот тут спит
                    
                
                
                    
                        orignal
                    
                    
                        if (!m_ExploratoryPool)
                    
                
                
                    
                        orignal
                    
                    
                        {
                    
                
                
                    
                        Vort
                    
                    
                        да, я понимаю. но вызывается из туннель потока. а он ещё спит
                    
                
                
                    
                        orignal
                    
                    
                        так там ожидание в секунду
                    
                
                
                    
                        orignal
                    
                    
                        я не знаю кто такую хуйню написал там
                    
                
                
                    
                        Vort
                    
                    
                        зато netdb не спит и уже дёргает его
                    
                
                
                    
                        Vort
                    
                    
                        :))
                    
                
                
                    
                        orignal
                    
                    
                        я бы так не написал
                    
                
                
                    
                        Vort
                    
                    
                        ладно, примерно поняли, в чём дело. буду буферы тестировать
                    
                
                
                    
                        orignal
                    
                    
                        я бы наприсал отдельный метод
                    
                
                
                    
                        orignal
                    
                    
                        и вызывал бы его откуда надо
                    
                
                
                    
                        Vort
                    
                    
                        а может это и студия мне опять какую-то херню собрала )
                    
                
                
                    
                        orignal
                    
                    
                        дурацкий код то это явно не студия ))
                    
                
                
                    
                        Vort
                    
                    
                        оу. Transit Tunnels: 83059
                    
                
                
                    
                        Vort
                    
                    
                        в таких условиях почему бы треду лишние несколько секунд не поспать ) шучу )
                    
                
                
                    
                        Vort
                    
                    
                        не дают спокойно код проверить )
                    
                
                
                    
                        orignal
                    
                    
                        Transit Tunnels: 46061
                    
                
                
                    
                        orignal
                    
                    
                        у меня поменьше
                    
                
                
                    
                        orignal
                    
                    
                        и Transit Tunnels: 54809 на другом
                    
                
                
                    
                        Vort
                    
                    
                        неужели набилось из-за того, что я в отладчике возился. ну комп грузил то есть
                    
                
                
                    
                        orignal
                    
                    
                        вряд ли
                    
                
                
                    
                        orignal
                    
                    
                        у меня просто по трафику в лимит уперлось
                    
                
                
                    
                        Vort
                    
                    
                        угу. но что-то ж даёт эти волны
                    
                
                
                    
                        Vort
                    
                    
                        вероятнее всего, атака. но может быть и что-то иное
                    
                
                
                    
                        orignal
                    
                    
                        кнопка "start" у кого то
                    
                
                
                    
                        orignal
                    
                    
                        никакое "иное" не может дать столько тоннелей
                    
                
                
                    
                        Vort
                    
                    
                        orignal: такой вопрос возник. в конфиге что - можно вообще любое числовое значение в bandwidth воткнуть?
                    
                
                
                    
                        Vort
                    
                    
                        надо ли корректно обрабатывать случаи, когда туда кто-то шибко умный воткнёт миллиарды?
                    
                
                
                    
                        orignal
                    
                    
                        счас гляну
                    
                
                
                    
                        Vort
                    
                    
                        просто если без поддержки дуростей, то код у меня уже есть
                    
                
                
                    
                        orignal
                    
                    
                        void SetBandwidth (int limit); /* in kilobytes */
                    
                
                
                    
                        orignal
                    
                    
                        4 ,fqnf rjhjxt
                    
                
                
                    
                        orignal
                    
                    
                        4 байта
                    
                
                
                    
                        orignal
                    
                    
                        я отйду на несколько часов 
                    
                
                
                    
                        orignal
                    
                    
                        потом продолжим
                    
                
                
                    
                        Vort
                    
                    
                        ладно, сделаю с поддержкой дуростей
                    
                
                
                    
                        Vort
                    
                    
                        окей
                    
                
                
                    
                        Vort
                    
                    
                        сделал. желательно чтобы кто-нибудь проверил.  github.com/PurpleI2P/i2pd/pull/2033 
                    
                
                
                    
                        Vort
                    
                    
                        weko: с последними коммитами проблема недогруженности узла уже не стоит :) Tunnel creation success rate: 5% / Transit: 210.65 GiB (5469.45 KiB/s) / Transit Tunnels: 58770
                    
                
                
                    
                        orignal
                    
                    
                        а зачем 1024/5? нельзя просто 200?
                    
                
                
                    
                        Vort
                    
                    
                        orignal: то килобайты, а то доли секунды, разные вещи как бы.
                    
                
                
                    
                        orignal
                    
                    
                        да я понимаю
                    
                
                
                    
                        Vort
                    
                    
                        вызывается 2 раза всего лишь ) так что о нагрузке на CPU можно не беспокоиться
                    
                
                
                    
                        orignal
                    
                    
                        смержил
                    
                
                
                    
                        Vort
                    
                    
                        хорошо
                    
                
                
                    
                        Vort
                    
                    
                        но проверять, проверять надо
                    
                
                
                    
                        orignal
                    
                    
                        ну привычка просто ))
                    
                
                
                    
                        orignal
                    
                    
                        прорять буду
                    
                
                
                    
                        onon1
                    
                    
                        Комментариев нету, трудно разобраться.
                    
                
                
                    
                        Vort
                    
                    
                        :))
                    
                
                
                    
                        Vort
                    
                    
                        буст хитро значения возвращает, поэтому большой такой кусок кода получился
                    
                
                
                    
                        Vort
                    
                    
                        а в остальном - должно быть понятно. onon1: если что - спрашивай
                    
                
                
                    
                        Vort
                    
                    
                        второй коммит переносит wouldblock ексепшен на уровень info
                    
                
                
                    
                        onon1
                    
                    
                        Я минуты три думал, как это работает bufferSize = std::max(SSU2_SOCKET_MIN_BUFFER_SIZE, std::min(bufferSize, SSU2_SOCKET_MAX_BUFFER_SIZE)); берем минимальное от максимального, а потом максимальное от минимального.
                     
                
                
                    
                        Vort
                    
                    
                        onon1: я всегда туплю над этим кодом. понимаю )
                    
                
                
                    
                        Vort
                    
                    
                        в новых версиях C++ исправили проблему
                    
                
                
                    
                        Vort
                    
                    
                        но пофиг
                    
                
                
                    
                        Vort
                    
                    
                        есть ещё в буст алгоритмах, но решил не переусложнять
                    
                
                
                    
                        orignal
                    
                    
                        все я уехал
                    
                
                
                    
                        onon1
                    
                    
                        Было бы неплохо ещё как-нибудь измерить уровень потерь пакетов для udp/ssu2 с маленьким буфером и с большим.
                    
                
                
                    
                        Vort
                    
                    
                        onon1: да это мелочи, я полагаю. даже с прошлым буфером в 128к. самое большое, что гадило, - это зависание потока
                    
                
                
                    
                        Vort
                    
                    
                        посмотри, сколько пишет эксепшенов в лог и подумай, сколько всего пакетов отправляется за то же время
                    
                
                
                    
                        Vort
                    
                    
                        я не считал, но думаю, что потери там меньше процента
                    
                
                
                    
                        weko
                    
                    
                        Vort: так это из-за атаки, а не реальный трафик
                    
                
                
                    
                        Vort
                    
                    
                        weko: после того, как я насмотрелся на баги за последние дни, я уже не так уверен
                    
                
                
                    
                        Vort
                    
                    
                        пробовал последние коммиты ставить, кстати?
                    
                
                
                    
                        weko
                    
                    
                        Нет пока что
                    
                
                
                    
                        weko
                    
                    
                        А что там самок важное?
                    
                
                
                    
                        Vort
                    
                    
                        они довольно гадкое зависание в SSU2 чинят (проявляющееся правда в основном на слабых компах)
                    
                
                
                    
                        weko
                    
                    
                        Хм
                    
                
                
                    
                        weko
                    
                    
                        Ну у меня вроде не висло
                    
                
                
                    
                        Vort
                    
                    
                        так зависал поток обработки
                    
                
                
                    
                        Vort
                    
                    
                        и не навсегда
                    
                
                
                    
                        weko
                    
                    
                        Хм
                    
                
                
                    
                        Vort
                    
                    
                        в результате отваливались почти все SSU2 сессии
                    
                
                
                    
                        Vort
                    
                    
                        потом пересоздавались. но всё же
                    
                
                
                    
                        weko
                    
                    
                        Интересно
                    
                
                
                    
                        weko
                    
                    
                        Вообще я думаю надо бы релиз делать через неделю две. Сейчас просто масштабные изменения не вносить, а тестить что есть
                    
                
                
                    
                        weko
                    
                    
                        Уже кучу всего исправили
                    
                
                
                    
                        Vort
                    
                    
                        тестировщиков мало, а так согласен
                    
                
                
                    
                        weko
                    
                    
                        Можно ещё udp исправить
                    
                
                
                    
                        weko
                    
                    
                        Было бы не плохо
                    
                
                
                    
                        weko
                    
                    
                        :)
                    
                
                
                    
                        weko
                    
                    
                        [14:42:13] <orignal> все я уехал
                    
                
                
                    
                        weko
                    
                    
                        Но видимо пока лося нету, будем тестить
                    
                
                
                    
                        onon1
                    
                    
                        Да, на Х узле, с 256кб буфера ошибки не вылазят. Там транзит около 3 с пиками до 6
                    
                
                
                    
                        Vort
                    
                    
                        хорошо
                    
                
                
                    
                        Vort
                    
                    
                        формулу расчёта размера буфера можно будет ещё подкручивать
                    
                
                
                    
                        Vort
                    
                    
                        я постарался выбрать что-то не сильно "жмущее", но и не сильно "жирное"
                    
                
                
                    
                        Vort
                    
                    
                        хз как описать точнее )
                    
                
                
                    
                        weko
                    
                    
                        Интересно, лиссет размером 16 влезает в 1KB?
                    
                
                
                    
                        Vort
                    
                    
                        кстати, я читал, что винда сразу весь буфер не выделяет
                    
                
                
                    
                        Vort
                    
                    
                        а только по потребности
                    
                
                
                    
                        weko
                    
                    
                        Просто я бы мог многое повесить на один destination, однако я боюсь что будет сильно баговать, и будет не успевать строить туннели. Просто я бы тогда 16 тыкнул
                    
                
                
                    
                        Vort
                    
                    
                        да сейчас с туннелями беда
                    
                
                
                    
                        Vort
                    
                    
                        перегруженный узел начинает чаще строить туннели и больше перегружать сеть
                    
                
                
                    
                        weko
                    
                    
                        Просто у меня дохрена b32, и во время атака, даже с укоренным созданием строить не успевает
                    
                
                
                    
                        weko
                    
                    
                        Атаки*
                    
                
                
                    
                        weko
                    
                    
                        Vort: из-за атака больше узлов уходят в лимиты -> меньше tcsr -> узлы чаще строят туннели -> больше узлов уходят в лимиты
                    
                
                
                    
                        Vort
                    
                    
                        по-моему тут кроме ожидания ухода волны (и параллельного обновления сети) мало что можно сделать
                    
                
                
                    
                        Vort
                    
                    
                        weko: и это тоже
                    
                
                
                    
                        weko
                    
                    
                        Пока что реакция не запускается, видимо из-за того, что узлы очень медленно пытаются создавать туннели
                    
                
                
                    
                        weko
                    
                    
                        Vort: почему же. Можно попробовать найти атакуещего
                    
                
                
                    
                        weko
                    
                    
                        По крайней мере его адреса
                    
                
                
                    
                        weko
                    
                    
                        Просто посмотреть по статистике откуда больше всего прёт туннелей
                    
                
                
                    
                        weko
                    
                    
                        Там надо код как то доделать, чтобы в i2np пакет добавлялось информация, откуда он пришёл
                    
                
                
                    
                        Vort
                    
                    
                        в общем, если можешь, обнови узел и скажи, какой это эффект даст
                    
                
                
                    
                        weko
                    
                    
                        И далее где туннель создаётся обрабатывать
                    
                
                
                    
                        weko
                    
                    
                        Vort: я обновлю а любом случае
                    
                
                
                    
                        weko
                    
                    
                        У мен, достаточно маленьким лимиты так то
                    
                
                
                    
                        weko
                    
                    
                        Vort: я предлагаю заняться защитой от этой атаки
                    
                
                
                    
                        Vort
                    
                    
                        там и для маленьких лимитов есть исправление. несколько дней назад было
                    
                
                
                    
                        Vort
                    
                    
                        для зеркальных туннелей
                    
                
                
                    
                        weko
                    
                    
                        Ну что следующий хоп это мы
                    
                
                
                    
                        weko
                    
                    
                        Да было
                    
                
                
                    
                        weko
                    
                    
                        Не хочу тайминг ловить
                    
                
                
                    
                        weko
                    
                    
                        [15:51:30] <weko> Vort: я предлагаю заняться защитой от этой атаки
                    
                
                
                    
                        onon1
                    
                    
                        Лось говорил, что с дедом обсуждал вариант не учитывать в лимитах пустые туннели
                    
                
                
                    
                        onon1
                    
                    
                        А до чего дообсуждались, не говорил.
                    
                
                
                    
                        weko
                    
                    
                        onon1: у джавистов туннели пустые тоже
                    
                
                
                    
                        onon1
                    
                    
                        Ну так, перестает быть пустым - начинаем его тоже считать...
                    
                
                
                    
                        Vort
                    
                    
                        ну важно убрать зависимость лимита от рейта
                    
                
                
                    
                        weko
                    
                    
                        Прикол в том, что атакующий может сделать так, что даже не созданный туннель будет якобы не пустым
                    
                
                
                    
                        onon1
                    
                    
                        Это ему будет стоить вычислительных мощностей
                    
                
                
                    
                        weko
                    
                    
                        onon1: гораздо меньше чем создание туннеля
                    
                
                
                    
                        weko
                    
                    
                        Потому что там симметричное
                    
                
                
                    
                        weko
                    
                    
                        Vort: локального лимита от локального рейта? Ну это надо с netDb работать
                    
                
                
                    
                        Vort
                    
                    
                        нет, от оценки рейта по пустым транзитам
                    
                
                
                    
                        weko
                    
                    
                        Отделение просто свалки RI от базы RI для строительства туннелей
                    
                
                
                    
                        Vort
                    
                    
                        не важно конкретное значение, важно убрать зависимость
                    
                
                
                    
                        Vort
                    
                    
                        хотя мне вообще идея ограничения количества транзитов кажется странной
                    
                
                
                    
                        Vort
                    
                    
                        это количество само по себе почти ни на что не влияет
                    
                
                
                    
                        weko
                    
                    
                        Vort: чтобы узел не тупил
                    
                
                
                    
                        weko
                    
                    
                        Vort: так то влияет
                    
                
                
                    
                        weko
                    
                    
                        На netDb и нагрузку узла
                    
                
                
                    
                        Vort
                    
                    
                        так нету доказательств, что количество транзитов даёт тормоза
                    
                
                
                    
                        weko
                    
                    
                        Vort: тормоза тогда, когда времени процессора не хватает
                    
                
                
                    
                        Vort
                    
                    
                        так оно тратится на трафик в основном
                    
                
                
                    
                        Vort
                    
                    
                        вот трафик и лимитировать
                    
                
                
                    
                        weko
                    
                    
                        Когда 100к туннелей, это как 166 созданий в секунду
                    
                
                
                    
                        weko
                    
                    
                        Как 166 KB/s
                    
                
                
                    
                        weko
                    
                    
                        Учитывай, что это асимметричное шифрование
                    
                
                
                    
                        weko
                    
                    
                        То есть потребляет в разы больше времени
                    
                
                
                    
                        weko
                    
                    
                        Вот тебе пруф
                    
                
                
                    
                        Vort
                    
                    
                        я когда делал раньше профилирования, я вообще шифрования не находил
                    
                
                
                    
                        Vort
                    
                    
                        если можешь, то сделай профилирование, покажи результаты - тогда будет пруф
                    
                
                
                    
                        Vort
                    
                    
                        таблицу с потреблением CPU по функциям кода
                    
                
                
                    
                        Vort
                    
                    
                        именно при нагрузке транзитом
                    
                
                
                    
                        weko
                    
                    
                        Vort: оно в любом случае потребляет больше 0. Так что должно быть
                    
                
                
                    
                        Vort
                    
                    
                        я допускаю, что где-то может быть баг, дающий тормоза именно из-за количества. но если он и есть, то он не грузит CPU, а заставляет ждать. ну или делать какую-то фигню вместо того что надо
                    
                
                
                    
                        Vort
                    
                    
                        weko: ну понятно. просто мелочи. допустим, меньше процента
                    
                
                
                    
                        weko
                    
                    
                        Vort: так ты сказал что вообще не нашёл
                    
                
                
                    
                        weko
                    
                    
                        Как будто их нет
                    
                
                
                    
                        weko
                    
                    
                        А они то есть
                    
                
                
                    
                        Vort
                    
                    
                        окей, я сказал неточно. их было так мало, что иногда профилировщик их пропускал
                    
                
                
                    
                        Vort
                    
                    
                        если перенастроить его, то что-то находилось
                    
                
                
                    
                        weko
                    
                    
                        Интересно, почему так. Вроде должно быть много
                    
                
                
                    
                        Vort
                    
                    
                        то есть, если очень поискать, то найти было можно
                    
                
                
                    
                        weko
                    
                    
                        И что больше всего тратило?
                    
                
                
                    
                        Vort
                    
                    
                        может я криво смотрел
                    
                
                
                    
                        Vort
                    
                    
                        отправки и приёмы TCP с UDP
                    
                
                
                    
                        weko
                    
                    
                        Оч странно
                    
                
                
                    
                        Vort
                    
                    
                        SSU2 больше всего по-моему
                    
                
                
                    
                        weko
                    
                    
                        Должно быть наоборот
                    
                
                
                    
                        Vort
                    
                    
                        сейчас попробую запустить. если выкинет из чата - значит, заглючил профилировщик
                    
                
                
                    
                        Vort
                    
                    
                        weko: ну вот, смотри:  paste.i2pd.xyz/?197da8e4998d6e92#5VYV3naPX4pVbLAaXB9qiqUQo3KWG7zuTFZvoPjKraoW  
                    
                
                
                    
                        weko
                    
                    
                        Зелёное - это функции профилировщика?
                    
                
                
                    
                        Vort
                    
                    
                        зелёное - это функции системных библиотек, похоже
                    
                
                
                    
                        Vort
                    
                    
                        может профилировщик фигня, может пользуюсь им неправильно
                    
                
                
                    
                        Vort
                    
                    
                        в линуксе есть хороший профилировщик
                    
                
                
                    
                        Vort
                    
                    
                        который даже на ядро ОС нагрузку считать умеет
                    
                
                
                    
                        weko
                    
                    
                        Там в основном wait
                    
                
                
                    
                        Vort
                    
                    
                        если можешь - перепроверь
                    
                
                
                    
                        weko
                    
                    
                        Даже у тебя видно что даже если брать чисто i2pd, то функции криптографии в топп
                    
                
                
                    
                        weko
                    
                    
                        Топе
                    
                
                
                    
                        weko
                    
                    
                        Правда не ясно, сколько это относительно всего
                    
                
                
                    
                        Vort
                    
                    
                        Linux perf посмотри
                    
                
                
                    
                        Vort
                    
                    
                        только не gprof - то говно
                    
                
                
                    
                        Vort
                    
                    
                        моё заявление такое: "i2pd даёт нагрузку не столько своими функциями, сколько функциями операционной системы"
                    
                
                
                    
                        Vort
                    
                    
                        могу ошибаться, жду или потдтверждения или опровержения
                    
                
                
                    
                        weko
                    
                    
                        Там wait в основном
                    
                
                
                    
                        weko
                    
                    
                        Значит просто функция выполнялась долго
                    
                
                
                    
                        Vort
                    
                    
                        в perf ?
                    
                
                
                    
                        weko
                    
                    
                        Без фактической затраты времени процессора
                    
                
                
                    
                        weko
                    
                    
                        Vort: у тебч
                    
                
                
                    
                        weko
                    
                    
                        У тебя на скрине
                    
                
                
                    
                        weko
                    
                    
                        Там везде в названиях wait
                    
                
                
                    
                        Vort
                    
                    
                        более навороченный профилировщик мне не только i2pd заглючит, но и всю систему
                    
                
                
                    
                        Vort
                    
                    
                        так что лучше ты попробуй
                    
                
                
                    
                        weko
                    
                    
                        perf record надо?
                    
                
                
                    
                        weko
                    
                    
                        Ну у меня тут дела есть, сделаю, приду проверю
                    
                
                
                    
                        Vort
                    
                    
                        да вроде record, а потом просмотреть как-то
                    
                
                
                    
                        Vort
                    
                    
                        я когда-то разобрался, попользовался, а потом забыл
                    
                
                
                    
                        Vort
                    
                    
                        запомнил только, что результаты получше, чем в винде
                    
                
                
                    
                        Vort
                    
                    
                        я до сих пор не знаю как в винде делать профилирование с учётом загрузки ядра
                    
                
                
                    
                        Vort
                    
                    
                        бывают программы, которые почти полностью в ядре сидят, а профилировщик показывает, что нагрузки почти нету :))
                    
                
                
                    
                        Most2
                    
                    
                        13.<douknowwatusee> У кого-то есть проблемы с постороением исходящих туннелей?
                    
                
                
                    
                        Most2
                    
                    
                        13.<douknowwatusee> Указал 16, а строится дай бог 3
                    
                
                
                    
                        Most2
                    
                    
                        13.<douknowwatusee> При этом входящих много
                    
                
                
                    
                        Vort
                    
                    
                        есть у многих. атака идёт
                    
                
                
                    
                        Most2
                    
                    
                        13.<douknowwatusee> Понял, спасибо
                    
                
                
                    
                        orignal
                    
                    
                        тут я
                    
                
                
                    
                        orignal
                    
                    
                        проблема с исходящими еше из-за бага
                    
                
                
                    
                        Vort
                    
                    
                        из-за того, который был починен?
                    
                
                
                    
                        Vort
                    
                    
                        хотя даже при полнейшем рандоме непонятен перекос
                    
                
                
                    
                        orignal
                    
                    
                        перекок как раз понятен
                    
                
                
                    
                        orignal
                    
                    
                        входящие то строятся парно к исходящим
                    
                
                
                    
                        orignal
                    
                    
                        и запрашиваются чаще чем чистятся
                    
                
                
                    
                        tetrimer
                    
                    
                        На одном из OfE серверов за час количество ттранзитных туннелей подскочило с 4 до 16 тыс.
                    
                
                
                    
                        tetrimer
                    
                    
                        После перехагрузки - больше не поднимается.
                    
                
                
                    
                        tetrimer
                    
                    
                        Это я к тому, что атака цепляет в основном флудфилы и за результатом, похоже, следят.
                    
                
                
                    
                        Vort
                    
                    
                        у меня последние дни прыгает между 20 и 80 тысячами
                    
                
                
                    
                        tetrimer
                    
                    
                        У меня больше 20тыс - нигде не подскакивает: где-то, видимо, само тормозится.
                    
                
                
                    
                        Vort
                    
                    
                        O флаг и тормозит, так задумано
                    
                
                
                    
                        tetrimer
                    
                    
                        А, у меня, похоже, упирается в параметр share - я его ставлю в 50%.
                    
                
                
                    
                        Vort
                    
                    
                        ну и это тоже, да
                    
                
                
                    
                        orignal
                    
                    
                        счас буду пробовать на флудфиле
                    
                
                
                    
                        orignal
                    
                    
                        SSU2: Socket send buffer size: requested = 1638400, got = 212992
                    
                
                
                    
                        orignal
                    
                    
                        давайте говорите че там меня в системе
                    
                
                
                    
                        Vort
                    
                    
                        ага. лучше, чем 128к
                    
                
                
                    
                        orignal
                    
                    
                        ну я системные лимиты подниму
                    
                
                
                    
                        Vort
                    
                    
                        sudo sysctl -w net.core.rmem_max=1638400
                    
                
                
                    
                        Vort
                    
                    
                        sudo sysctl -w net.core.wmem_max=1638400
                    
                
                
                    
                        orignal
                    
                    
                        счас попробую
                    
                
                
                    
                        orignal
                    
                    
                        поставил
                    
                
                
                    
                        Vort
                    
                    
                        поменялось сообщение в логе?
                    
                
                
                    
                        orignal
                    
                    
                        еще не смотрел
                    
                
                
                    
                        Vort
                    
                    
                        ну надо перезапустить конечно
                    
                
                
                    
                        Vort
                    
                    
                        сам i2pd
                    
                
                
                    
                        Vort
                    
                    
                        систему не надо
                    
                
                
                    
                        orignal
                    
                    
                        знаю
                    
                
                
                    
                        Vort
                    
                    
                        оу, я кое что не дочитал
                    
                
                
                    
                        orignal
                    
                    
                        перезапущу чуть позже
                    
                
                
                    
                        Vort
                    
                    
                        To make the change permanent, add the following lines to the /etc/sysctl.conf file, which is used during the boot process:
                    
                
                
                    
                        Vort
                    
                    
                        короч надо ещё и в конфиг прописать
                    
                
                
                    
                        Vort
                    
                    
                        чтобы после ребута поставилось
                    
                
                
                    
                        Vort
                    
                    
                        я только смену через sysctl в виртуалке потестил
                    
                
                
                    
                        Vort
                    
                    
                        а сохренение после ребута не проверял
                    
                
                
                    
                        orignal
                    
                    
                        что именно?
                    
                
                
                    
                        orignal
                    
                    
                        туда написать
                    
                
                
                    
                        tetrimer
                    
                    
                        Вообще-то - прописывание в sysctl.conf - стандартная процедура. :) Иногда еще в /boot/loader.conf пишут некоторые переменные
                    
                
                
                    
                        Vort
                    
                    
                        net.core.rmem_max=1638400
                    
                
                
                    
                        Vort
                    
                    
                        net.core.wmem_max=1638400
                    
                
                
                    
                        orignal
                    
                    
                        tetrimer вот у нас на работе пиздаболы сисдамины этого не делают
                    
                
                
                    
                        Vort
                    
                    
                        "стандартная процедура" ну я виртуалку раз в месяц примерно запускаю, поэтому про стандарты не в курсе :)
                    
                
                
                    
                        orignal
                    
                    
                        в результате после любого ребута вылетает вообще все
                    
                
                
                    
                        tetrimer
                    
                    
                        Так оно не всегда нужно.
                    
                
                
                    
                        orignal
                    
                    
                        там вооьще все рушится начиная с домашних директорий на нфс
                    
                
                
                    
                        tetrimer
                    
                    
                        А есть sysctl-переменные, которые правильно встают только после ребута.
                    
                
                
                    
                        orignal
                    
                    
                        ну наши с этой премудростью не знакомы
                    
                
                
                    
                        orignal
                    
                    
                        потому все время приходится их тыкать палочкой
                    
                
                
                    
                        orignal
                    
                    
                        была бы моя воля я бы разогнал всех этих бездельников и нанял нормальных
                    
                
                
                    
                        tetrimer
                    
                    
                        Проблема - где их, нормальных, брать. :)
                    
                
                
                    
                        onon2
                    
                    
                        Может кто объяснить за что отвечает параметр const int MAX_WINDOW_SIZE = 128; в Streaming.h
                    
                
                
                    
                        orignal
                    
                    
                        за максимальный размер окна ))
                    
                
                
                    
                        onon2
                    
                    
                        А подробнее, как пакеты в стриме обрабатываются?
                    
                
                
                    
                        orignal
                    
                    
                        плохо
                    
                
                
                    
                        orignal
                    
                    
                        там протокол по типу TCP
                    
                
                
                    
                        orignal
                    
                    
                        с окнами, RTT и прочим
                    
                
                
                    
                        onon2
                    
                    
                        Я тут попробовал прогнать трафик без ограничений через два узла, выжал около 250кб/с
                    
                
                
                    
                        onon2
                    
                    
                        При том, что отдача/прием был 450/450
                    
                
                
                    
                        onon2
                    
                    
                        Почти половина пакетов просто дропалась
                    
                
                
                    
                        onon2
                    
                    
                        Лог забивается сообщениями missing messages
                    
                
                
                    
                        onon2
                    
                    
                        и duplicate message
                    
                
                
                    
                        onon2
                    
                    
                        Плюс там ещё со стримами проблема с лизсетами
                    
                
                
                    
                        onon2
                    
                    
                        Они зависают с ошибкой в логе remote leaseset expired
                    
                
                
                    
                        onon2
                    
                    
                        При том, что входящие и исходящие туннели есть
                    
                
                
                    
                        onon
                    
                    
                        А перед этим начинает бешено запрашивать какой-то странный дестинейшн, которого у меня нет.
                    
                
                
                    
                        tetrimer
                    
                    
                        Запросы отсутствующего в NetDB - уже давно идут.
                    
                
                
                    
                        tetrimer
                    
                    
                        Причем пачками одного и того же файла
                    
                
                
                    
                        tetrimer
                    
                    
                        Заклинило стрим на irc и никак он не хотел сам падать. :( RTT=8000 и стоим, чего-то ждем.
                    
                
                
                    
                        Vort
                    
                    
                        tetrimer: тоже на заклинивание irc попадал, но не рассматривал подробно
                    
                
                
                    
                        tetrimer
                    
                    
                        Ну так это как с нулевыми туннелями: надо просто по косвенному показателю принимать решение о закрытии.
                    
                
                
                    
                        Vort
                    
                    
                        "<onon2> Я тут попробовал прогнать трафик без ограничений " - речь о TCP или UDP ?
                    
                
                
                    
                        onon2
                    
                    
                        udp/ssu2
                    
                
                
                    
                        onon2
                    
                    
                        На реальной сети, моделирование реальной нагрузки
                    
                
                
                    
                        Vort
                    
                    
                        а, ну по этому поводу weko уже много жаловался  )
                    
                
                
                    
                        Vort
                    
                    
                        orignal говорил, что в реализации UDP очень много багов
                    
                
                
                    
                        Vort
                    
                    
                        хотя я наверно неправильно понял
                    
                
                
                    
                        weko
                    
                    
                        Как и в TCP
                    
                
                
                    
                        weko
                    
                    
                        Хоть там и меньше
                    
                
                
                    
                        weko
                    
                    
                        Судя по коду udp там вполне может быть куча багов
                    
                
                
                    
                        weko
                    
                    
                        Vort: сейчас займусь профилированием
                    
                
                
                    
                        tetrimer
                    
                    
                        TCP сам следит за потерями пакетов, а в UDP - с этим беда.
                    
                
                
                    
                        Vort
                    
                    
                        onon2: внутри SSU2 что было? TCP ?
                    
                
                
                    
                        Vort
                    
                    
                        в i2p ведь и udp можно _внутри_ гонять, я думал ты об этом говоришь
                    
                
                
                    
                        Vort
                    
                    
                        точнее, не UDP, а датаграммы
                    
                
                
                    
                        orignal
                    
                    
                        конечно много
                    
                
                
                    
                        onon2
                    
                    
                        Короче, я поднял сервер, и прокси и качаю с сервера файл, через 1 хоп туннель.
                    
                
                
                    
                        Vort
                    
                    
                        а, теперь понятно
                    
                
                
                    
                        Vort
                    
                    
                        это хороший сценарий
                    
                
                
                    
                        Vort
                    
                    
                        но можно и udp через iperf3 проверять
                    
                
                
                    
                        onon2
                    
                    
                        И казалось бы все узлы мои и все узлы хорошие, а вот такая вот фигня.
                    
                
                
                    
                        Vort
                    
                    
                        "<onon2> Почти половина пакетов просто дропалась" - тогда о каких пакетах речь ? которые ssu2 ?
                    
                
                
                    
                        onon2
                    
                    
                        Которые "missing packets" видимо
                    
                
                
                    
                        Vort
                    
                    
                        наверно ssu2
                    
                
                
                    
                        onon2
                    
                    
                        Ой messaages
                    
                
                
                    
                        Vort
                    
                    
                        а...
                    
                
                
                    
                        Vort
                    
                    
                        короч попробую сейчас на локалхосте
                    
                
                
                    
                        Vort
                    
                    
                        если на локалхосте будет глючить - значит опять какой-то жирный косяк
                    
                
                
                    
                        Vort
                    
                    
                        потому что это же первое, что имеет смысл тестировать
                    
                
                
                    
                        Vort
                    
                    
                        onon2: как туннели были сделаны? на первом узле 1+1 хоп через второй узел и на втором 1+1 хоп через первый?
                    
                
                
                    
                        Vort
                    
                    
                        или где-то 0 хопов было?
                    
                
                
                    
                        onon2
                    
                    
                        на сервере через explicit и на клиенте через trust.enabled
                    
                
                
                    
                        onon2
                    
                    
                         по 1му своему роутеру
                    
                
                
                    
                        onon2
                    
                    
                        там и там 1 хоп
                    
                
                
                    
                        onon2
                    
                    
                        Когда это был один и тот же роутер, удалось выжать около 1мб/с, когда разные - совсем плохо
                    
                
                
                    
                        Vort
                    
                    
                        плохо в trust опции разбираюсь - сейчас поясню, как я настроил
                    
                
                
                    
                        onon
                    
                    
                        Там можно вроде через tunnels.conf кастомный httpproxy сделать
                    
                
                
                    
                        onon
                    
                    
                        Там проще будет
                    
                
                
                    
                        Vort
                    
                    
                        на первом узле сделал 1+1 хоп клиентский туннель ко второму узлу через третий узел
                    
                
                
                    
                        Vort
                    
                    
                        на втором узле сделал 1+1 хоп серверный туннель через третий узел
                    
                
                
                    
                        Vort
                    
                    
                        и прогнал через iperf3 тест
                    
                
                
                    
                        Vort
                    
                    
                        получил скорость 2.6 мегабайта/сек
                    
                
                
                    
                        Vort
                    
                    
                        все три узла на одном и том же компе и одном и том же адресе
                    
                
                
                    
                        Vort
                    
                    
                        даже увидел, во что упирается - в CPU, на всех трёх узлах
                    
                
                
                    
                        Vort
                    
                    
                        странно, так как третий узел держит транзит в два раза больше без особых проблем и без особой нагрузки на CPU
                    
                
                
                    
                        Vort
                    
                    
                        что-то я не учёл