Возвращаясь к "тормознутости" pfsense



  • Итак, pfsense очень даже неплохой продукт, но сильно напрягает тот факт, что используя его в качестве пограничного маршрутизатора/инет шлюза, практически невозможно полностью эффективно использовать всю полосу внешнего канала и это известно многим. Кто об этом ещё не знает, приведу небольшую иллюстрацию: приобретя канал к провайдеру с полосой 100Мбит/с, решил его потестить путём загрузки с торрента имиджа ДВД-диска "Battlfield 3" (размер=9,5ГБ, игра популярная - раздающих много - с достижением максимальной скорости загрузки проблем не должно быть).
    Тест №1 - загрузка на комп подключенный напрямую к каналу: канал влёгкую был загружен на все 100Мбит/с, имидж загрузился   за 16минут с секундами.
    Тест №2 - загрузка того же имиджа, но через "чистый" pfsense 2.0.3: средняя скорость загрузки не превышала 25-30Мбит/с и следовательно время загрузки в районе 50 минут.
    Тест №3 - загрузка того же имиджа, но через "чистый" zeroshell 2.0 RC3: средняя скорость загрузки бала в районе 50Мбит/с с пиками до 80-90Мбит/с. Время загрузки 30 минут.
    Все тесты повторялись по несколько раз подряд. Кроме того, при загрузке этого торрента через pfsense, при одновременном сёрфе страницы открывались с задержкой в несколько десятков секунд, в то время, как при загрузке через zeroshell эти задержки не превышали 2-3 секунды!
    Понятное дело, что торренты как средство тестирования не идеальны, но тем не менее, соотношение таково.

    Вопрос: кому нибудь удалось победить эту многовековую тормознутость сенса и если ДА, то какими методами???



  • 1. на машине с Pfsense сетевухи гигабитные? Если да, то проверь, согласование интерфейсов показывает гигабит в сторону провайдера? На стомегабитных интерфейсах не будет сотки по TCP - максимум 30.
    2. Поставь пакет через вебморду shellcmd.
    Пропиши через интерфейс этого пакета
    sysctl net.inet.ip.dummynet.pipe_slot_limit=200
    Перезагрузись.

    По умолчанию в этом параметре стоит 100. Есть подозрение, что из-за этого даже без лимитера в Rules ядро режет скорость до сотки.



  • Конфиг машины: i865+1G_RAM(1channel)+Northwood_3,06GHz+5 x Intel 100 Pro (2 enable)
    Основной рабочий протокол торрентов - UDP, так что, при экстремальных настройках клиента можно и гигабитный канал загрузить по полной - это не проблема.
    По поводу п.2: спасибо за подсказку, но можно разжевать по подробнее, что этот параметр определяет? Да и лимитеры не созданы.



  • Максимальная ширина одного канала dummy. Есть предположение, что даже без создания pipe лимитера он может действовать. Это можно проверить, выключив nat и pf вообще, подсоединив pfsense к провайдеру через другой роутер с натом.



  • @netormoz:

    1. на машине с Pfsense сетевухи гигабитные? Если да, то проверь, согласование интерфейсов показывает гигабит в сторону провайдера? На стомегабитных интерфейсах не будет сотки по TCP - максимум 30.
    2. Поставь пакет через вебморду shellcmd.
    Пропиши через интерфейс этого пакета
    sysctl net.inet.ip.dummynet.pipe_slot_limit=200
    Перезагрузись.

    По умолчанию в этом параметре стоит 100. Есть подозрение, что из-за этого даже без лимитера в Rules ядро режет скорость до сотки.

    Убедительная просьба топикстартеру отписаться, поможет ли это решение. Проверил бы сам, но такого широкого канала не имею.



  • Для проверки достаточно поставить вместо провайдера машину с iperf сервером, за pfsense - машину с iperf-клиентом. Лучше всего, чтобы на 3 машинах сетевки были гигабитные.



  • 1. В первом посте забыл указать, что на каждом из тестов, дополнительно выполнялось несколько циклов измерения скорости соединения при помощи сервиса speedtest.net (естественно, с выгруженным торрент-клиентом и очищенной таблицей соединений). Порядок значений speedtest соответствовал цифрам при торрент-загрузках.

    2. После проведённых нескольких серий экспериментов по предложенной netormoz метОде, сколько нибудь видимых улучшений ситуации я не увидел. Для увеличения нагрузки на внешний канал и сенс была задействована вторая машина, которая тоже торрентом тянула аналогичный файл. Указанный netormoz'ом параметр менялся на 200, 500 и даже на экстремальное значение 1000. Только при значении 1000, средняя скорость возросла на несколько процентов (субъективно, т.е. при данном методе тестирования, может быть, просто инструментальная погрешность).
    Так что, проблема всё ещё имеет место быть.



  • Продолжаем эксперимент.
    Выставляем вышеуказанный параметр 200.
    Делаем 2 лимитера  100 Мбит/c in и out c параметром Queue Size 100 slots.
    Назначаем лимитеры в правилах LAN
    Перезагружаемся



  • @QWERTik:

    приобретя канал к провайдеру с полосой 100Мбит/с

    А скажите, пожалуйста, от провайдера метод авторизации при этом какой? (белый ип, динамика, PPoE…. и т.п)

    Просто у меня с той же пропускной способностью от провайдера, pf справляется очень даже хорошо на 90-91 мбит, причем в тех же торрентах реальная постоянная цифра 10мб/c.



  • У меня гигабитные карты (правда,  модулей для них из коробки в pfsense не оказалось - но это другая тема) - тестировал через запросы на локальный ftp сервер. Получал честные 470-80 Мбит/c на upload и download. А вот с  лимитерами на 100 Мбит/c pfs работал где-то на 25 Mбит/c только плюс проблема ассиметричности пропуска траффика. Все решил вышеуказанным способом, корректируя размер slots c 50 до 100 и изменив ограничение скорости pipe со 100 на 200. В данном случае есть подозрение, что slots в 50 по умолчанию применяется и без лимитеров. А корректировать его величину можно только, включив лимитер - поэтому и предлагаю продолжить эксперимент.
    Вообще не вижу проблемы заменить карты на поддерживаемые гигабитные для Freebsd 8.1 и забыть об этой проблеме. Цена вопроса от 15 уе и выше. Ваши сотки точно входят в перечень поддерживаемого hardware для 8.1?



  • добавлю свои "5 копеек"
    вот так у меня получается на локальном сервере

    а вот с чего это снято

    2.0.3-RELEASE (i386) (nanobsd)
    CPU: Intel Pentium III (601.37-MHz 686-class CPU)
    real memory  = 134217728 (128 MB)
    re0: <realtek 8169="" 8169s="" 8169sb(l)="" 8110s="" 8110sb(l)="" gigabit="" ethernet="">(WAN через PPPoE)
    vr0: <via 10="" vt6105="" rhine="" iii="" 100basetx="">(LAN)
    ad0: 996MB <samsung cf="" ata="" 04="" 05="" 06="">at ata0-master PIO4  (это вместо винта)

    очень даже не плохо как мне кажется. только загрузку проца я показать не могу. не может pfsense её посчитать на этом камне, нуль, говорит у меня загрузка  ;D</samsung></via></realtek>



  • WAN через PPPoE

    Ростелек и через рррое? У них же вроде везде IPoE?

    И, кстати, ссылки на speedtest уже давно моветон:

    • Я поставил кеш сервер, который клиенту, если у него 50, выдает 100.
    • Кэш чего? Спидтеста?..
    • Да, оно тягает jpg файлики, у файликов есть определенный паттерн, по нему и кеширует.
    • Круто :-))

    http://forum.nag.ru/forum/index.php?showtopic=77077
    Тестам с торрентами доверия больше, т.к. это и есть реальная задача, а не её эмуляция (speedtest).



  • не, в нашей деревне только PPPoE. Даже предлагают медь на GPON махнуть и там сделать PPPoE.
    Я им и денег предлагал, говорят "не положено!",
    а одна девочка из саппорта сказала "этот VLAN устарел, а у нас новая технология PPPoE!", я тогда перестал с ними спорить.

    На вопрос зачем им пароль при безлимитном интернете и месячной абонплате, ответить затрудняются.

    Про торрент то оно понятно, но вопрос был "тормознутость", если уж p3-600 способен прокачивать 100 мегабит сферических коней в вакууме, то p4-3000 должен быть способен на большее  ;D



  • Выписка мз
    FreeBSD 8.1-RELEASE Hardware Notes

    Intel PRO/100 Mobile Cardbus (versions that use the X3201 chipset)
    хм….может быть, там чипсет не такой



  • 2 panika:
    -авторизация IP, белый.
    -как я писал в первом посте, тестировал прокачку на 2х системах: pfsense 2.0.3 и zeroshell 2.0 RC3 (linux). Железо было одно - просто перетыкал винты.

    2 netormoz:
    -экспериментировать по данному вопросу пока некогда - нужно решить ещё несколько вопросов.
    -у меня старые добрые intel_100_pro на pci, драйвера на которые давным-давно обкатаны.

    2 aleksvolgin:
    из нескольких перебранных спидометров, в том числе и тех, которым несколько лет назад я полностью доверял, только этот давал результат замера скорости очень близкий к графику замера скорости на сетевом интерфейсе (WinXP->диспетчер задач->сеть), то же показывал и сенс на графике загрузки wan. Это же подтверждают и торренты.



  • @QWERTik:

    2 netormoz:
    -экспериментировать по данному вопросу пока некогда - нужно решить ещё несколько вопросов.
    -у меня старые добрые intel_100_pro на pci, драйвера на которые давным-давно обкатаны.

    А старые добрые интел дают дают сотку с выключенным натом, как я просил проверить? Если проверки не было - то это просто теория ради собственного самоуспокоения. Драйвера могли быть обкатаны давно - но кто на них видел сотку?



  • Тестировал на тестовой машине.
    Коре 2 дуо 1.8 4 гига рам ссд вит 30гигов.
    2 сетевухи. Шина pci.
    Сетевухи длинк дге 530 на марвеле.
    Линк гигабит. Нат включен. Гонял данные и через рртр и через нат. Использовались два компа с ссд винтами. Протокол смб 2.

    • торент во внешку.
      Уперся в пропускную способность шины pci 32 битные карты по спецификации дали общую пропускную на 275 мегабит, загрузка проца для обоаботки потока составила 45%
      После установки интеловской карты на pci express с аппаратным офлоад и тисипи фрагментэйшн дали при прокачке по виланам по одному интерфейсу 750 мегабит, сказывалось и старый смб 1 и то что вторая машина была виртуальной и винт стоял на рэйде 1 и писалось в vhd. Загрузка проца при этом не превысила 15%. Сказались аппаратные обработки сетевухи.
      Так, что по поводу тормознутости, спешу не согласиться. Скорее всего у тебя проблема кроется в мобильном процессоре, который заточен под энергосбережение, посему не в состоянии обработать поток и посмотри внимательно, умеют ли твои карты на аппаратном уровне обрабатывать сеть, возможно собака порылась именно тут. Есть еще один момент. На многоядерных системах очереди потока с разных интерфейсов паралелятся, в твоем случае может возникать затык из-за обработки очереди двух интерфейсов одним потоком, плюс затраты на нат.


  • @netormoz:

    Выписка мз
    FreeBSD 8.1-RELEASE Hardware Notes

    Intel PRO/100 Mobile Cardbus (versions that use the X3201 chipset)
    хм….может быть, там чипсет не такой

    Причина не в этом чипсете



  • @netormoz:

    @QWERTik:

    2 netormoz:
    -экспериментировать по данному вопросу пока некогда - нужно решить ещё несколько вопросов.
    -у меня старые добрые intel_100_pro на pci, драйвера на которые давным-давно обкатаны.

    А старые добрые интел дают дают сотку с выключенным натом, как я просил проверить? Если проверки не было - то это просто теория ради собственного самоуспокоения. Драйвера могли быть обкатаны давно - но кто на них видел сотку?

    Только-что на zeroshell'e с отключенным qos повторил загрузку торрентом того-же имиджа. По показаниям торрент-клиента скорость загрузки 11,2 мегабайта/сек (это естественно, целевой трафик, без служебного) и это полностью соответствует отрисовке загрузки сетевого интерфейса машины с торрент-клиентом. Не думаю, что во фре драйвера для таких старых карт как у меня (i82558) обкатаны хуже, чем в линухе. Вопрос по матери/процу/шине/сетёвкам отпадает, поскольку данные, приведённые в этом посте показывают, что железо тянет без проблем - проблема в самой оси или настройках. Так что, давайте искать проблему здесь.

    2 netormoz:
    провёл предложенный вами эксперимент, но безрезультатно,точнее - всё осталось как было. Но я вполне допускаю, что не учёл какие то конкретные параметры. Если не затруднит, уточните параметры по лимитеру.



  • Теперь надо Pfsense поставить за отдельной машиной с натом, а на pfs
    system:advanced:firewall and nat:disable all packet filtering ставим галку.
    Делаем из него просто роутер - и качаем 100 Мб



  • Сделал просто: отключил фильтрацию/нат/шейпер/лимитеры, LAN и WAN сбриджевал (думаю, большой разницы с маршрутизацией в плане производительности нет). Топология такова: комп->сенс->локалка, файловый сервер (smb, http). Результат: загрузка файла с сервера по smb: прямое подключение - 70 Мбит/с, через сенс - 10-12 Мбит/с (при ещё одной параллельной загрузке другого файла скорость возрастает вдвое); при загрузке по http: прямое подключение - 50 Мбит/с, через сенс - см. результат smb. При этом, при прямом подключении график загрузки достаточно ровный, а через сенс - имеет игольчатый вид (расчёска) со средней скоростью, той что я указал.
    Вот так засада  :o.



  • а через сенс - имеет игольчатый вид (расчёска)

    Такой чтоль?

    С m0n0 не экспериментировали? Или вам необходим именно функционал NAS'а и простой маршрутизатор вас не устроит?




  • Нет, не пила, а хаотичная флуктуация по скорости прокачки с большой амплитудой, напоминающей расчёску, а если ещё точнее, то осциллограмму белого шума!
    Моновоп мне понравился в работе (знаком с ним, как и с сенсом несколько лет) и компактностью, но не понравился отсутствием нужного мне функционала, а т.к. я не юниксятник, сделать тонкую настройку из шелла и доустановить пакеты вручную проблематично. Сенс очень не плох, есть всё, что мне надо, только есть некоторые досадные глючки (сенса, может и мои) с которыми и нужно разобраться. В моноволе, кстати, такой тормознутости не наблюдал.
    А причём здесь НАС? Если бы мне был нужен функционал именно комбаина, я бы посмотрел в сторону антангл и ему подобных. В данном случае, файлушник использовался только как компонент тестовой схемы.



  • доустановить пакеты вручную проблематично

    Я вам более скажу, там это в принципе невозможно без пересборки.

    файлушник использовался

    А "файлушник"это что?



  • Как не странно, файловый сервер (правда, по нынешним меркам слабенький).



  • файловый сервер

    NAS кругозор - вещь необходимая. На основе сенса можно создать полноценный нас, а моно - просто маршрутизатор.

    я бы посмотрел в сторону антангл

    Роутер с иксами на борту? Сильно, дайте два.  ;D



  • Ребята! Дрова по сотку кривые. Когда их писали 10 Мбс было счастье, ближе к нашему времени сменили чип - а дрова не поправили.



  • Дрова по сотку кривые. Когда их писали 10 Мбс было счастье, ближе к нашему времени сменили чип - а дрова не поправили.

    В моноволе, кстати, такой тормознутости не наблюдал.



  • карты с тем же чипом были в моноволе?



  • @aleksvolgin:

    доустановить пакеты вручную проблематично

    Я вам более скажу, там это в принципе невозможно без пересборки.

    Это относилось не только к моноволу, по этой причине для него и пакетов то нет ).
    По поводу НАС - http://ru.wikipedia.org/wiki/NAS, это тоже NAS, ведь в вашем вопросе упомянулся файл-сервер.
    По поводу кривости драйверов - не уверен (ну, не на столько же кривы), хотя всё может быть.
    С моноволом игрался на более хилом железе, да и канала такого тогда в принципе не было. Но и тогда моно был значительно менее латентен, чем сенс. Сейчас отыщу DOM с моно и проверю на этом железе и канале.



  • По поводу НАС - http://ru.wikipedia.org/wiki/NAS, это тоже NAS, ведь в вашем вопросе упомянулся файл-сервер.

    Не наблюдаю здесь слов "файловый сервер":

    вам необходим именно функционал NAS'а и простой маршрутизатор вас не устроит?



  • Ну а если функционально? И не надо путать с сервером приложений!



  • Ну, вот, проверил сетевые карточки под моноволом (v.1.34). Прокачка трафика торрентом дала уверенные 95 Мбит/с. Делаю вывод, что драйвера сетёвок не причём Собака порылась где-то в ядре/настройках, но где именно, пока не могу понять.
    Люди добрые, поможите чем можыти  :).



  • 2.1 попробуйте.



  • Попробовать, оно конечно можно, но хотелось бы понять причину такого очень не приятного бага релиза, да и бэту (где багов ещё больше, по определению) юзать не очень хочется.



  • Напоминаю конфиг машины: mb Intel D865GL (video GF2-MX400), 1GB RAM, CPU Northwood 3,06GHz (гипертрединг включен), LAN i82801BA Pro/100 VE (интегрированная) и 4 х i82558 Pro/100 (настроены только 2 - LAN и WAN).
    Продолжая свои эксперименты, тщательно вычистил (удалил все установленные пакеты/правила/шейперы) систему, сбросил её к заводским настройкам, на всякий случай повторил сброс к заводским настройкам ещё раз, настроил интерфейсы и повторил ту же торрентовую закачку. Результат: средняя скорость немного возросла (40 Мбит/с с кратковременными всплесками до 50-55 Мбит/с). Пиковое показание скорости закачки торрент-клиента 5,8 МБайт/с.
    Т.е. проблема имеется и она в кроется самом ядре. Напоминаю, что установленные на это же железо софтовые маршрутизаторы основанные на линуксе, а так же m0n0Wall v.1.34 очень хорошо справились с этой задачей, а последний - просто идеально!
    У кого (кто хорошо знает ядро) какие есть мысли на этот счёт???



  • Ну а если функционально?

    Что "функционально"? Артикулируйте свой вопрос, не заставляйте меня цитировать литературных классиков.

    1MB RAM

    1Gb RAM  :D

    i82558

    В прошлых тестах были i82557. У вас залежи винтажных сетевых карт?

    а последний - просто идеально!

    ;D
    Не, идеально это вот:

    Это наверное лучшее, гибкое и простое програмное NAT решение для небольшой сети.

    pfSence -скорость передачи не дотягивают до нужной.(макс 6.5 Мег./c)

    UserGate, Kerio WinRoute и Traffic Inspector
    под Win 2k пробовал вообще скорость в несколько раз меньше (макс 2.5 Мег./c)

    А Mikrotik RouterOS 3.30 - все 10.5 Мегабайта/c выдает.(чуть меньше правда если напрямую машину подключать, там 11.4 Мег./c)

    Мерял все торентом только локальными пирами(от локалки провайдера) с одними и те ми же сидами(около 10-и сидов, локалка 100 Мб/c между домами оптика), одинаковой раздачей, так. же локальным FTP провайдера в часы наименьшей нагрузки.

    Испытываемый роутер P3 -466 Mz, 256 Мб, 20 Гб, NET 2-е на одинаковые на чипсетах от Intel и сами Intel.

    Думаю в качестве "NET 2-е на одинаковые на чипсетах от Intel" были i82558 или i82559. Жаль не указана версия pfsense в тесте.



  • у меня вопрос. Замена двух 100 Мб карт -это 800 рублей максимум. А мозг вынесли уже на 2000 УЕ. кТО ЭТО БУДЕТ КОМПЕНСИРОВАТЬ - bSD PERIMETR IZ bERLINA?



  • @netormoz:

    у меня вопрос. Замена двух 100 Мб карт -это 800 рублей максимум. А мозг вынесли уже на 2000 УЕ. кТО ЭТО БУДЕТ КОМПЕНСИРОВАТЬ - bSD PERIMETR IZ bERLINA?

    Для решения Вашей проблемы Вы можете:

    • найти решение самостоятельно;
    • воспользоваться платной поддержкой;
    • либо перейти на аналогичные коммерческие решения.


  • @aleksvolgin:

    Ну а если функционально?

    Что "функционально"? Артикулируйте свой вопрос, не заставляйте меня цитировать литературных классиков.

    1MB RAM

    1Gb RAM  :D

    i82558

    В прошлых тестах были i82557. У вас залежи винтажных сетевых карт?

    а последний - просто идеально!

    ;D
    Не, идеально это вот:

    Это наверное лучшее, гибкое и простое програмное NAT решение для небольшой сети.

    pfSence -скорость передачи не дотягивают до нужной.(макс 6.5 Мег./c)

    UserGate, Kerio WinRoute и Traffic Inspector
    под Win 2k пробовал вообще скорость в несколько раз меньше (макс 2.5 Мег./c)

    А Mikrotik RouterOS 3.30 - все 10.5 Мегабайта/c выдает.(чуть меньше правда если напрямую машину подключать, там 11.4 Мег./c)

    Мерял все торентом только локальными пирами(от локалки провайдера) с одними и те ми же сидами(около 10-и сидов, локалка 100 Мб/c между домами оптика), одинаковой раздачей, так. же локальным FTP провайдера в часы наименьшей нагрузки.

    Испытываемый роутер P3 -466 Mz, 256 Мб, 20 Гб, NET 2-е на одинаковые на чипсетах от Intel и сами Intel.

    Думаю в качестве "NET 2-е на одинаковые на чипсетах от Intel" были i82558 или i82559. Жаль не указана версия pfsense в тесте.

    По пунктам:
    1. может лучше аргументировать, т.к. артикуляция здесь не поможет?  ;D ;D ;D. Да и стар уже для кривляний.
    Да и чего здесь аргументировать, вы профессиональный админ (я так полагаю) и сами прекрасно знаете что такое файловый сервер и для чего он нужен, на какой бы оси не базировался. Но к данному топику он относится только лишь как инструмент для тестирования и никак иначе! Оффтоп!
    2. ну, я думаю, опечатки случаются и у вас?
    3. i82557 - я указал по памяти с момента сборки этой машины. Когда конфигурировал моновол, обратил внимание, что они 82558 - вы уж, простите старика великодушно, память подвела ). Да и какая разница, винтажные, не винтажные - это добротно сделанные хардварные карты (в отличие, скажем, от RTL8139) и сами по себе 100% гарантирующие 100 Мбит/с при полном дуплексе и не доверять им повода нет! И драйвера здесь не причём! Тем более, что процессор я поставил заведомо более производительный. Так что, тоже оффтоп!
    4. в данном случае, ДА, идеальный - в сравнении с другими результатами и меня бы вполне устроил, если бы моновол обладал тем функционалом, какой нужен мне, да и микротик, кстати то же, а платить за 4-5 уровень лицензии 5-й версии бешенные бабки я не хочу! Тоже оффтоп!

    Если проблема имеющая место быть, в принципе не разрешима, и это известно гуру этого форума, то я хотел бы увидеть аргументированный, технически грамотный (ведь это технический форум?) ответ и без предложенной мне ранее артикуляции. Кроме того, я хотел бы видеть закреплённый в шапке форума топик со списком таких вот нерешённых проблем сенса, как например с поллингом, да и с тормознутостью, дабы те, кто не занят этим профессионально могли заранее принять для себя решение об использовании сенса исходя из своих требований к маршрутизатору.
    Это русскоязычная ветка официального международного форума технической поддержки pfSense. Если Вы знаете решение возникшей у пользователя продукта проблемы - вэлкам, если нет - не стоит опускаться до придирок и водолейства! Со своей стороны я пытался максимально полно описывать свою проблему и действия.
    Прошу прощения, если кого обидел.


Log in to reply