Засада
Столкнулись тут с засадой на одном из серверов.
В сервер вставили дуальную карту Intel Gigabit ET Dual Port Server Adapter, сервер работает шлюзом.
pciconf -lv
igb0@pci0:4:0:0: card=0xa03c8086 chip=0x10c98086 rev=0x01 hdr=0x00
vendor = ‘Intel Corporation’
class = network
subclass = ethernet
igb1@pci0:4:0:1: card=0xa03c8086 chip=0x10c98086 rev=0x01 hdr=0x00
vendor = ‘Intel Corporation’
class = network
subclass = ethernet
Что получили ? А получили вместо ожидаемого улучшения, т.к. встроенные карточки похуже будут, тотальное ухудшение.
Если качать с самого сервера, то закачка идет в полную скорость канала (т.е. можно и более 20 МБ/с выжать),
а вот если качать как клиент (через этот сервер), то скорость закачки 50 килобайт и выше ну никак не идет :(((((
Пробовали драйвера и самой FreeBSD 7.2 так и дрова от Yandex, так и дрова с официального сайта Intel.
Но ситуация не изменялась ни на грамм………
Чего мы тока не делали…… даже бубном стучали админским 🙂 ничего не помогало, даже накатили сервер до FreeBSD 7.3 PRERELEASE — результат тот же.
Трындец подумали мы……. но:
Сами понимаете, гуглили мы изрядно и вот появился луч надежды, наткнулись на описание той же проблемы на lists.freebsd.org, которая датируется аж:
Mon Jun 8 10:53:08 UTC 2009
Где человек пишет, что ему помогло. А именно:
в /etc/sysctl.conf пишем:
dev.igb.0.enable_lro=0
dev.igb.1.enable_lro=0
dev.igb.0.rx_processing_limit=2048
dev.igb.1.rx_processing_limit=2048
Затем перегружаем сервер, а не правим это налету через sysctl, а иначе не заработает, у нас не заработало, как чел и писал.
И вауля ! Сервер возвращается из ребута и наконец то все становится как надо ! А именно получаем нормальную скорость через него как клиент.
Если по команде:
sysctl dev.igb.0.enable_lro=0
Вылезает:
sysctl: unknown oid ‘dev.igb.0.enable_lro’
Тогда попробуйте так:
ifconfig igb0 -lro
Итог:
- Драйвера с сайта Intel
- правка переменных sysctl
Ссылки:
- Драйвера от Yandex
- Драйвера от Intel
- lists.freebsd.org
З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Пожалуйста, уважайте чужой труд.
Авторы: Панфилов Алексей (lehis (at) subnets.ru), Николаев Дмитрий (virus (at) subnets.ru), Будимиров Максим (madmax (at) subnets.ru)