Страница 1 из 1

Ошибки на интерфейсах

Добавлено: 2009-12-25 12:50:55
HEDG_SS
Появились дисконекты, завышения пингов .

Схема сети: локальные роутеры занимаются шейпингом клиентов(ipfw + pipe + tablearg) , потом траф идет на сервер NAT(pf nat), с него патч идет непосредственно в сервер BGP(quagga + ipfw), а дальше в инет.

Сервера: На ОС FreeBSD 7.0 (в ядре вырублены левые дрова и вшит фаервол).
Сетевые Intel 1000MT Desctop.
Проц Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz. ОЗУ -2G

Трафик не такой больой , железо должно нормально справляться.
CPU загружается в пике не более чем по 60% оба ядра (распаралеливание происходит нормально)
Для сетевых , это тоже вроде не предел... (250Mb/s, 30-35k pps, порядка 80k сессий )
В pf на нат отрублен scrub.

Почему берутся эти ошибки?
Чем отличается Error и Discards? В каких случаях возникают ошибки in и out (особенно связка маскарад(нат) net0 и Mart (bgp) net1, которые соединены напрямую патчем. )
Где может быть узкое место?
Куда еще можно покопать ??

Завышения пингов начинаются на сервере NAT. net0 - в сторону инета , net1 - в сторону локальной сети
сыпятся ошибки

Re: Ошибки на интерфейсах

Добавлено: 2009-12-25 13:06:27
baton4eg
А почему взяли Intel Desktop? есть же спец с тегом Server
у меня похожая схема, только без BGP вначале. polling включен ?

Re: Ошибки на интерфейсах

Добавлено: 2009-12-25 18:38:34
HEDG_SS
Intel Desktop взял шеф (не знаю из каких соображений). После НГ Обещал поменять на серверные. Жду.
Как достоверно убедиться, что узкое место именно сетевые?

Pooling не включен (только ухудшает картину, пробовал HZ=1000 и HZ=2000)

Код: Выделить всё

# netstat -m
542/1513/2055 mbufs in use (current/cache/total)
539/1267/1806/25600 mbuf clusters in use (current/cache/total/max)
538/1126 mbuf+clusters out of packet secondary zone in use (current/cache)
0/2/2/12800 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/6400 9k jumbo clusters in use (current/cache/total/max)
0/0/0/3200 16k jumbo clusters in use (current/cache/total/max)
1215K/2920K/4135K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/7/6656 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines

Код: Выделить всё

# cat /etc/sysctl.conf
#ICMP
net.inet.icmp.icmplim=100 #число ICMP "Unreachable" и TCP RST пакетов в секунду
net.inet.icmp.icmplim_output=0 #позволяет не отражать в логах факты превышения лимита
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
net.inet.ip.ttl=128
kern.polling.enable=0
kern.polling.user_frac=50
Что еще можно посмотреть?

Re: Ошибки на интерфейсах

Добавлено: 2010-01-04 18:06:50
HEDG_SS
Похоже роутер упирается в полку по pps.
Что можно посмотреть, покрутить на эту тему?
При достижении порога в 33-35 тыс pps начинают вылетать ошибки на интерфейсе.
Чем выше загррузка, тем больше ошибок.

Код: Выделить всё

# netstat -dw1 -I net0
            input         (net0)           output
   packets  errs      bytes    packets  errs      bytes colls drops
     35422     4   26539102      36858     0   24914472     0     0
     34535     0   26601292      34858     0   22401013     0     0
     34132     0   26226349      34636     0   21874593     0     0
     34214     0   26359563      34153     0   21122707     0     0
     34818     0   26786463      34459     0   21961438     0     0
     35216     3   26690424      35406     0   23497707     0     0
     34156     0   25734021      34759     0   23093725     0     0
     34236     0   26455331      34148     0   21725075     0     0
     33670     2   25503093      34730     0   22492029     0     0
     34482    13   25960634      34547     0   22189100     0     0
     34224     5   26121225      34847     0   22477384     0     0
     33780     0   25452546      34684     0   22496220     0     0
     32978     3   24462510      34992     0   23141471     0     0
     32734    10   24407832      33404     0   21955278     0     0
     32343    30   24560066      32837     0   20421298     0     0
     32893    11   24934547      33910     0   21318674     0     0
     32924     0   25541343      33491     0   21022059     0     0
     33360     0   25366320      33899     0   21443859     0     0
     32492    17   25536836      32360     0   20062492     0     0
     32288     0   25040178      32814     0   20910894     0     0
     33242     0   25753928      33945     0   21245507     0     0
     32992     3   25263700      33781     0   21624214     0     0
     34452     0   25489546      36152     0   24584446     0     0
     33734    29   25428046      34023     0   22222489     0     0
     33304    11   25337016      33213     0   20830454     0     0
     32452     0   24788134      32592     0   20290838     0     0
     32788     0   25389722      32897     0   19954775     0     0
     32828     0   25265098      33441     0   20349856     0     0
     32844     0   25341730      32900     0   20547989     0     0

Re: Ошибки на интерфейсах

Добавлено: 2010-01-04 18:54:09
terminus

Re: Ошибки на интерфейсах

Добавлено: 2010-01-25 16:13:10
HEDG_SS
2terminus
Спасибо.

Погуглил основательно...
Результат: в моем случае очень похоже , что уперлись либо в шину PCI либо в сетевую (Desctop на серверах стоять не должен, даже если он и Intel....).
насчет PCI часто встречал примерно следующий расчет (в моем случае он похоже верен...)
PCI может теоретическт пропустить 1Gbit, на практике меньше 20-30% + накладные расходы на fullduplex (pci однонаправленная шина, поэтому ей нужно время на переключение.). Многие пришли к порогу в 600Мб/с суммарного потока. У меня получилось суммарно ~520Мб/c.
Была поставлена 4-хголовая сетевая Intel® PRO/1000 PT в порт PCI-E 16x(на том же железе и ОС), после чего проблема полностью ушла. Был преодален порог в 40kpps (стало в пике 55kpps)и суммарный поток в 650Мб/с
P.S. В работе железа не силен, так что если есть технические неточности - сильно не пинайте :oops:

P.P.S. многие приходят к таким конфигурациям своих роутеров :
На геймерскую мать (больше портов PCI-E 4x и 16x) ставится хороший камень + ОЗУ, в обычный PCi - втыкается старое видео(если нет набортного), а в PCI-E - сетевые карточки(2-х и 4-х головые).

Всем СПАСИБО!!!