Повышаем производительность сети (Ethtool, Iperf, proxy)

  • Господа, кто в курсах,
    так как же все-таки обязать сетевой интерфейс в дриме работать 100 HALF/FULL DUPLEX mode.


    Раньше жизнь была проще: "echo 1> /proc/sys/dev/eth0/swfdup"
    Ну а теперь-то КАК?


    И узнать бы надо как этот eth0 в реальности подключился на автомате.


    В REDHAT есть такая утилита - ethtool,
    может кто встречал для дрима подобный addon


    или еще как...?


    ЗЫ: с WI-FI мостом (BUFALLO WLI3...) сам дрим никак не хочет дружить на большой скорости...

  • Отвечаю сам на свой же вопрос.


    Просто скопируй и запусти на дриме


    Как пользоваться знает гуугл и т.п.


    работает - сам проверял...


    Спасибо sat-industry.net!

    Файлы

    • ethtool.zip

      (25.76 kB, скачали 250 раз, последнее скачивание: )
  • 2 va5


    Большая просьба к тебе, пожалуйста напиши поподробней
    как устанавливать и пользоваться подвесой - ethtool.zip,
    раз ты уже сам испробовал.
    Думаю Всем не помешает.

  • ethtool - Показать или изменить ethernet установки



    ИСПОЛЬЗОВАНИЕ
    ethtool ethX
    ethtool -h
    ethtool -a ethX
    ethtool -A ethX [autoneg on|off] [rx on|off] [tx on|off]
    ethtool -c ethX
    ethtool -C ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs ] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-
    frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N]
    ethtool -g ethX
    ethtool -G ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N]
    ethtool -i ethX
    ethtool -d ethX
    ethtool -e ethX [raw on|off] [offset N] [length N]
    ethtool -E ethX [magic N] [offset N] [value N]
    ethtool -k ethX
    ethtool -K ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off]
    ethtool -p ethX [N]
    ethtool -r ethX
    ethtool -S ethX
    ethtool -t ethX [offline|online]
    ethtool -s ethX [speed 10|100|1000] [duplex half|full] [port tp|aui|bnc|mii] [autoneg on|off] [phyad N] [xcvr internal|external] [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]



    здесь: ethX имя ethernet карты (для дрима - eth0)


    ethtool eth0 - выводит актуальные настроики интерфейса


    OPTIONS


    -h help.


    -a вывести параметры паузы интерфейса
    -A изменить параметры паузы интерфейса
    autoneg on|off автонастройка паузы
    rx on|off RX pause
    tx on|off TX pause


    -c вывести параметры coalescing information.
    -C изменить параметры coalescing settings


    -g вывести параметры rx/tx ring
    -G изменить параметры rx/tx ring


    rx N Change number of ring entries for the Rx ring.
    rx-mini N Change number of ring entries for the Rx Mini ring.
    rx-jumbo N Change number of ring entries for the Rx Jumbo ring.
    tx N Change number of ring entries for the Tx ring.


    -i вывести инфо о драйвере


    -d вывести дамп регистра
    -e вывести дамп EEPROM
    -E изменить EEPROM
    -k вывести инфо об offload
    -K изменить параметры offload


    rx on|off Specify if RX checksumming is enabled.
    tx on|off Specify if TX checksumming is enabled.
    sg on|off Specify if scatter-gather is enabled.
    tso on|off Specify if tcp segmentation offload is enabled.


    -p зажечь(мигнуть) светодиод на карте
    N in seconds.


    -r запустить автонастройку соединения, если она включена


    -S вывести инфо NIC- и driver-specific statistics.


    -t запустить автотест
    опции: offline|online
    defines test type: offline (default) means to perform full set
    of tests possibly causing normal operation interruption during
    the tests, online means to perform limited set of tests do not
    interrupting normal adapter operation.


    -s изменить некоторые настройки карты:


    speed 10|100|1000 (понятно)
    duplex half|full (понятно)
    port tp|aui|bnc|mii (для дрима не актуально)
    autoneg on|off (автонастройка соединения, при проблемах отключить!)
    phyad N PHY address.
    xcvr internal|external (думаю для дрима не актуально)
    wol p|u|m|b|a|g|s|d... Wake-on-LAN options. Not all devices support this. (думаю для дрима не актуально)
    The argument to this option is a string of characters specifying
    which options to enable.
    p Wake on phy activity
    u Wake on unicast messages
    m Wake on multicast messages
    b Wake on broadcast messages
    a Wake on ARP
    g Wake on MagicPacket(tm)
    s Enable SecureOn(tm) password for MagicPacket(tm)
    d Disable (wake on nothing). This option clears all previous
    options.


    sopass xx:yy:zz:aa:bb:cc Set the SecureOn(tm) password.
    The argument to this option must be 6 bytes in ethernet MAC hex format (xx:yy:zz:aa:bb:cc).


    msglvl N Set the driver message level. Meanings differ per driver.



    Короче, для общих целей используй команду:


    ethtool -s eth0 speed 100 duplex full autoneg off
    или
    ethtool -s eth0 speed 100 duplex half autoneg off



    И будет, возможно, счастье...

  • Огромнейшее Спасибо за такой подробный ответ.
    Это всем будет полезно и мне в часности т.к. я ваяю статейку,
    затрагивающую работу сетевого интерфейса Бокса.


    Ещё раз Данке за возможное счастье :)

  • Присоединяюсь к VladimirS.


    2 va5-уточни пожалуйста Куда копировать файл ethtool?


    1. Предполагаю в Var\Bin
    2. Присвоить атрибут 755


    Верно ?
    Отвечаю сам себе-верно !


    Замечательно работают обе версии и 1.6 и 3.0
    Я предпочёл режим half т.к. в full сеть работает медленнее.
    Максимальная скорость Box->PC = около 5,4 Mb/c
    Установившаяся = не ниже 5 Mb/c


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем DVDik ().

  • В подвеске ethtool версия 3 пробуйте у кого есть желание.

    Файлы

    • ethtool3.rar

      (32.94 kB, скачали 148 раз, последнее скачивание: )
  • Не пашет, выдаёт такую байду
    root@dreambox ~ > ethtool -s eth0 speed 100 duplex full autoneg off
    Cannot get current device settings: Operation not supported
    not setting speed
    not setting duplex
    not setting autoneg

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

  • тема актуальная, но расползлась по множеству топиков, из-за чего трудно воссоздать единую картину. Посему мы решили открыть новый топик, в котором предлагаем пообсуждать методы и способы повышения производительности LAN, к которой подключен ваш дримбокс. Пожалуйста, делитесь своим опытом в плане увеличения быстродействия сети. Указывайте, пожалуйста, софт, (для компа и для дрима) которым вы пользуетесь для определения производительности сети.

  • Я попытась рассказать о увеличении быстродействия, путем подборки значения MTU(Maximum Transmit Unit) для ДримБокса и для Компа.
    Если сеть прямая, и не имеет других хостов кроме компьютера и бокса, или она просто маленькая, то все приведенное ниже касается и компьютера и дрима, если-же сеть большая, то менять имеет смысл что-то только на дриме (предполагается что он стоит рядом, и ему вся большая сеть не нужна). Итак MTU - он примерно как размер кластера - чем больше размер, тем больше производительность, но тем больше требования к качеству линии. И наборот, если линия фиговая, его уменьшения может здорово повысить стабильность соединения. Через Web-интерфейс энигмы устанавливается MTU для соединения eth0 (сетевая карта дрима) и по умолчанию равно нулю. Если в системе присутствуют другие соединения то MTU для них нужно выставлять ручками через скрипты, чтобы оно всегда применялось.
    Собственно тут уже идет отхождение от темы - это не соединение Комп-Дрим - но тут и много писать ненадо - если это модем или GRPS то поигравшись этими значениями можно повысить стабильность, тем паче обычный пакет шаринга невелик, все равно будем укладываться в один пакет...
    Теперь про соединение с компом - и опять небольшое ответвление: Если доступ к компьютеру и к интернету идет напрямую, то при большом увеличении MTU соединение с компом мы может и улучшим, но вот доступ к внешней сети, или просто дальним хостам, расположенным за несколько хопов может быть сильно усложнен. Этих проблем нету, если соединение дальше компа идет через модПожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    добавить кодем, через комп(MTU будет определяться другим соединением компа), ну и, если соединение идет через VPN, и VPN сервер находится в благоприятной дальности :)
    Так-с. Ньюансы рассмотрели, откидываем. Имеем кроссоверный сетевой кабель (8 жил лучше чем 4(33+33+33+CRC против 50+50)) комп, дрим. Ну или 1-2 свитча посредине.
    Производим тестирование соединения с значениями по умолчанию:


    Если видим такую картину, что оччень врядли, целуем свой дрим в переднюю панель. В моем случае пришлось уменьшая передаваемое значение, пока не добился устойчивого пингования... Сошлись на размере в 13000.
    Далее начинается экспиремент, который у каждого будет свой. Я менял связки MTU+MRU на компе и MTU на дриме. На компе это можно делать практически любым ускорителем интернета, или ручками через реестр, на дриме делаем так:
    ifconfig eth0 mtu xxxx
    где xxxx - требуемое значение mtu.
    Далее начинается долгий путь подборки параметров. У меня остановилось дело на 1545 и пакетах в 21к вместо бывших 13к.


    Позиция два - это так называетмые tcp-окна - при tcp сессиях от размеров окна зависит кол-во пакетов, которая система может послать без подтверждения. В Windows это дело, обычно, не ограничено, а вот с никсами дело не так просто...
    Итак начнем. Причем, именно с Windows - так как оказалось, хоть значения и неограничено, но ограничены :) Лезем в реестр:
    1)Включение поддержки TCP окон больше 64Кб
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters ] Добавьте здесь новый параметр с именем «Tcp1323Opts» (dword) и значением «1»
    2)Максимальный размер окна для приёма TCP пакетов
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] Добавьте здесь новый параметр с именем «TCPWindowSize» (dword) и значением в байтах. Этот параметр определяет количество байтов, которые отправитель может передать, не получая подтверждения. По-умолчанию используется значение «0x00002238(8760)». Я рекомендую поставить как минимум 0x0003ebc0(256960). Опять-же определяется экспериментально.


    Тперь то-же самое в никсах:
    Смотрим текущее зyачение окна. По умолчанию 31 (тут хитро сделано)
    cat /proc/sys/net/ipv4/tcp_app_win
    формула такая window/2^tcp_app_win
    Соответственно чем больше значение переменной, тем меньше окно. Значение 0 - окна нема... Тут уже сплошное шаманство, балуется оно экспериментально:
    echo 20 > /proc/sys/net/ipv4/tcp_app_win
    И так далее. Опять-же ставится все экспериментально, я себе оставил 16...
    Вобщем-то вот и все. Никакой конкретики, сплошное шаманство. Но кому-то, может быть, поможет :)

  • слушай.. так и не понял, что для дрима должно быть нормой...


    ничего пока не менял.



    вот что получилось у меня.


    между ноутом и дримом - роутер, свич и wifi сеть 54 мегабита



    влом разбирать что будет без wifi - провода где то закинуты.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем tuskan ().

  • Всем привет. Вот вам мой способ повысить скорость сети: Дрим-Комп. Он ламерский, но действует. Сливал фильм с винта на борту дрима на РС. Скорость выше 4kbps не поднималась. Это 2% загрузки сетевой карты, что проверялось виндой. Проверил кабель он в порядке. Баловство с настройками сетевых карт ни к чему не привели. По совету друзей(Courage) для проверки канала 10м-100м подключил свич он показал 100м. Что-то дернуло меня проверить скорость и, о чудо! Скорость 48kbps. Соединяю оба «шайтан-аппарата» на прямую, опять 4kbps. С того времени так и остался свич между дримом и компом.
    При проверках пользовался: DU Meter, Marvell Virtual Cable Tester и ещё какой-то сетевой тестер.

  • как это может быть 4 или 48 kbps - может всё таки mbps


    у меня через роутер Asus 500 тоже наблюдается некоторое увеличение скорости - до 5 mbps (обычно 4,4 - 4,5)

  • вот мои результаты - копирование по ftp файлов с дрима на комп - 4-4,5 мбит/с - при этом настройки сетевухи - 100 мбит/с, fullduplex, enable autonegotiation. Смотрел Netmedic-om. Работаю с ftp клиентом FAR , в опциях которого есть возможность настройки буфера - и который НУ, очень сильно влияет на скорость приема/передачи. Я его увеличил в разы по сравнению с дефолтом, при этом и получил тот результат, который описал выше.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Goga777 ().

  • ребята - не путайте биты с байтами - у меня скорость скачки примерно
    4-5 мегабайт в секунду ---- скорость закачки на дрим - 200-400 килобайт
    в секунду --- это по фтп клиенту тотал командира

  • биты с байтами путать нельзя :)
    я специально об этом писал в первом посте этого топика.
    Когда я описывал свои результаты - то я имел ввиду именно бИты.

  • Вставлю и я свои пять копеек :) Down- 4,5-5 MB; UP- 2,5-3MB(мегабайт)
    Crossover соединение, настройки в дриме и карта в PC по умолчанию(стандарт).
    PS кабель 20м.(тоже немаловажно)
    @ asdus
    Вопрос. Что конкретно дало изменение значений?

    Файлы

    • Image.rar

      (50.24 kB, скачали 98 раз, последнее скачивание: )

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем ku4a ().

  • о боги дримбокса! странны дела твои!


    счас пробовал скачку и закачку по ssh протоколу в дримбиан
    результаты такие - 1 мегабайт в секунду на скачку с дрима и !!!!600 килобайт на закачке ..... и это с учетом шифрования


    попробовал по совету друзей другой сервер - vsftpd - gполучил
    те же цифры что и с другим сервером - 4-5 мегабайт скачка - 300 килобайт закачка


    кстати - может жертвоприношения богам пора делать - может они
    скорость сети отпустят ))))) а интересно - кто в греческой мифологии за
    дримбокс отвечает? а! наверно Морфей - бог сна )))



    ku4a
    какой у тебя дрим? 7000 или 7020?