Jump to content

Recommended Posts

Posted

А какие сетевые карты лучше использовать для роутеров ?

требования - стабильность + максимальная разгрузка процессора, карта должна уметь решать максимальное число задач сама

Posted
А какие сетевые карты лучше использовать для роутеров ?

требования - стабильность + максимальная разгрузка процессора, карта должна уметь решать максимальное число задач сама

 

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

 

Intel (e100 | e1000) family

3Com

Adaptec (осторожно с драйверами).

 

При том как правило не важно, много ли умеет карта.

Важно - эффективный буффер и настроенный polling. Остальное - копейки.

Posted
настроенный polling

Если уж про freebsd, то тогда читать release notes на предмет поддерживаемых поллингом карточек.

 

P.S. Кстати, rl тоже поллингом поддерживается, кто-нибудь проводил эксперименты по скорострельности 8139 с поллингом? А то у меня на всех 8139-based роутерах нагрузки никакой, а собирать отдельный гробик для синтетических тестов лень :)

  • 7 months later...
Posted
А какие сетевые карты лучше использовать для роутеров ?

требования - стабильность + максимальная разгрузка процессора, карта должна уметь решать максимальное число задач сама

 

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

 

Intel (e100 | e1000) family

3Com

Adaptec (осторожно с драйверами).

 

При том как правило не важно, много ли умеет карта.

Важно - эффективный буффер и настроенный polling. Остальное - копейки.

 

Вопрос актуален.

NAPI под Linux и эффективный буффер. Что брать?

Posted

настроенный polling

Если уж про freebsd, то тогда читать release notes на предмет поддерживаемых поллингом карточек.

 

P.S. Кстати, rl тоже поллингом поддерживается, кто-нибудь проводил эксперименты по скорострельности 8139 с поллингом? А то у меня на всех 8139-based роутерах нагрузки никакой, а собирать отдельный гробик для синтетических тестов лень :)

 

Провел таки "синтетический" полуэксперимент.

Есть роутер о трех smc1211 (не rlt8139, но работает с драйвером rl).

За роутером - виндовый недосервер (W2KServ, 2 IDE Quantum 10Gb на аппаратном зеркале без памяти), на роутере - freebsd 5.3, polling, ~50 правил ipfw (на тесте проходило примерно 6-7 правил до allow), HZ=1000; Процессор - PIII-667.

 

Тест 1 - закачка avi-шника по smb. Установившаяся скорость с поллингом (frac=50) - 3.20 mb/sec, процессор - 24-30% , без поллинга - 3,75 mb/sec, процессор - 18-21%.

 

Тест 2 - скачивание avi-шника в /dev/nul. Установившаяся скорсоть с поллингом (frac=50) - 5,5mb/sec, процессор - 30-35% , без поллинга - 6,3 mb/sec, процессор - 35-40%

 

Тест 3 - посыл на удаленный сервер потока udp-пакетов размером 100-512 байт. Поток генерируется "синтезатором" на произвольные порты указанного сервера из диапазона 2000-65535.

 

Без поллинга - загрузка процессора 100%. Производительность - 18kpps.

 

С поллингом - (user_frac 50) - загрузка процессора - 50-55%, скорость маршрутизации - 12-12,5 kpps (данные могут быть не идеально точными).

 

c user_frac 10 - загрузка процессора - 90-95%, скорость маршрутизации - 21,5-22,5 kpps. Процессор принимающей машины загружен практически на полную.

 

В качетсве генератора пакетов - AMD Athlon 2500+, SMC 1211, Windows 2000 Professional, самодельный udp-flood'ер на VC60+MFC.

 

Данные о призводительности снимались как с ipfw (за исключением без-поллингового режима, когда роутер заклинивало), так и performance monitor'ом на принимающей стророне.

 

 

Вывод - то-ли я не умею пользоваться поллингом, то-ли smc1211 - совсем не подходящая для роутера сетевушка. Тем не менее, некоторый прирост производительности при включении поллинга на UDP-шторме имеет место.

 

В случае нагруженного роутера freebsd+rl имеет смысл включать поллинг с user_frac=10 или 5, при этом для дополнительной функциональности серверу ничего не остается.

Posted

интереснее было бы сравнить в одинаковой конфигурации сети и роутера интел с трикомом и реалтеком.

mav, сможете в этот роутер сначала реалтеки вставить ?

Posted

Вопрос - в файловый "недосервер" под BSD (старый..) имеет смысл ставить Intel3Com среднего или серверного уровня, или ограничиться реалтеком? Важно выжать максимум скорости (по FTP, SMB) и минимально грузить процессор.

Posted

polling кстати тоже не все дрова и карточки умеют. Так что не факт что если 3Com то поллинг заработает.

Posted
Да, и еще. А как бы узнать, сколько kpps является "много" для PC?

Сложно сказать, но вот здесь весьма интересные циферки есть.

Posted
Kuzmich, а можно в той же конфигурагии сети в роутер вставить интел и показать что будет тогда ? и ещё триком до кучи :)

 

На 3Com'е поллинг, насколько я помню, не поднимается.

 

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

Posted

A vot u menia Intel 100/ PRO na 82559 gliucit.

 

1-2 raza v mesiac kernel.log zavalen takimi soobsenijami :

 

Feb 27 18:41:31 gabija kernel: [do_IRQ+106/168] [call_do_IRQ+5/13] [pci_conf2_read_config_byte+64/72] [printk+240/276]

[<d8bd6ed9>] [show_trace+203/240]

Feb 27 18:41:31 gabija kernel: [<d8bd6ed9>] [show_stack+113/120] [dump_stack+7/12] [__alloc_pages+639/652]

[_alloc_pages+22/24] [__get_free_pages+10/60]

Feb 27 18:41:31 gabija kernel: [kmem_cache_grow+154/464] [kmem_cache_alloc+193/212] [alloc_skb+173/380] [<d8bd6ed9>]

[<d8bd6850>] [eepro100:__insmod_eepro100_S.text_L11504+6537/11584]

Feb 27 18:41:31 gabija kernel: [handle_IRQ_event+47/88] [do_IRQ+106/168] [call_do_IRQ+5/13] [<d8bbf5c0>] [<d8bbf82c>]

[<d8bbfb1c>]

Feb 27 18:41:31 gabija kernel: [<d8bbfe35>] [<d8bc0770>] [<d8bc0e3a>] [qdisc_restart+19/208] [dev_queue_xmit+245/556]

[ip_finish_output2+153/220]

Feb 27 18:41:31 gabija kernel: [ip_finish_output2+0/220] [nf_hook_slow+238/324] [ip_forward_finish+0/84]

[ip_finish_output+262/272] [ip_finish_output2+0/220] [ip_forward_finish+0/84]

Feb 27 18:41:31 gabija kernel: [ip_forward_finish+78/84] [nf_hook_slow+238/324] [ip_forward+409/492]

[ip_forward_finish+0/84] [ip_rcv_finish+432/484] [ip_rcv_finish+0/484]

Feb 27 18:41:31 gabija kernel: [nf_hook_slow+238/324] [ip_rcv+886/944] [ip_rcv_finish+0/484] [netif_receive_skb+257/300]

[process_backlog+105/268] [net_rx_action+112/276]

Feb 27 18:41:31 gabija kernel: [do_softirq+90/164] [do_IRQ+150/168] [call_do_IRQ+5/13] [sys_truncate+24/384]

[schedule+487/760] [reschedule+5/16]

Feb 27 18:41:31 gabija kernel: eth0: can't fill rx buffer (force 1)!

Feb 27 18:41:31 gabija kernel: __alloc_pages: 0-order allocation failed (gfp=0x20/0)

Feb 27 18:41:31 gabija kernel: c143b998 c015bb07 00000020 00000020 c142f440 00000020 00000001 00000001

Feb 27 18:41:31 gabija kernel: c027239c c0272554 00000000 00000020 c0270d80 c015b6c6 00000040 c015bb1e

Feb 27 18:41:31 gabija kernel: c015971a c142f448 c142f440 00000246 00000020 00000003 c0159911 c142f440

Feb 27 18:41:31 gabija kernel: Call Trace: [__alloc_pages+639/652] [_alloc_pages+22/24] [__get_free_pages+10/60] [<c015

[eepro100:__insmod_eepro100_S.text_L11504+6836/11584] [eepro100:__insmod_eepro100_S.text_L11504+7307/11584]

[eepro100:__insmod_eepro100_S.text_L11504+6507/11584] [handle_IRQ_event+47/88] [do_IRQ+106/168]

Feb 27 18:41:31 gabija kernel: [call_do_IRQ+5/13] [do_syslog+292/724] [kmsg_read+17/24] [sys_read+150/240]

[system_call+51/64]

Feb 27 18:41:31 gabija kernel: eth2: can't fill rx buffer (force 0)!

Feb 27 18:41:31 gabija kernel: __alloc_pages: 0-order allocation failed (gfp=0x20/0)

Feb 27 18:41:31 gabija kernel: d72efd50 c015bb07 00000020 00000020 c142f440 00000020 00000001 00000001

Feb 27 18:41:31 gabija kernel: c027239c c0272554 00000000 00000020 00000000 c015b6c6 00000040 c015bb1e

Feb 27 18:41:31 gabija kernel: c015971a c142f448 c142f440 00000246 00000020 00000003 c0159911 c142f440

Feb 27 18:41:31 gabija kernel: Call Trace: [__alloc_pages+639/652] [_alloc_pages+22/24] [__get_free_pages+10/60]

[kmem_cache_grow+154/464] [kmem_cache_alloc+193/212]

Feb 27 18:41:31 gabija kernel: [alloc_skb+173/380] [sock_wmalloc+38/80] [tcp_make_synack+32/1092]

[tcp_v4_send_synack+57/188] [tcp_synack_timer+221/392] [tcp_keepalive_timer+41/572]

Feb 27 18:41:31 gabija kernel: [tcp_keepalive_timer+0/572] [timer_bh+588/872]

[eepro100:__insmod_eepro100_S.text_L11504+6553/11584] [bh_action+26/64] [tasklet_hi_action+74/112] [do_softirq+90/164]

Feb 27 18:41:31 gabija kernel: [do_IRQ+150/168] [call_do_IRQ+5/13] [do_syslog+292/724] [kmsg_read+17/24]

[sys_read+150/240] [system_call+51/64]

Feb 27 18:41:31 gabija kernel: __alloc_pages: 0-order allocation failed (gfp=0x20/0)

 

Nagruzna ne bolee 1-3 kpps .....

 

Sto tolko ne proboval ... i kartocku menial ... i driver eepro100 na posledniuju version e100+NAPI i kernel na 2.4.29.....Ves Server pomenial !!!!

Nikto ne mozet skazat v cem pricina ....

Ja podozrevaju sto e100 gliucnije karti .... poprobuju 3com 3c905C postavit ....

 

V moment takih gliukov servak bukvalno podvisaet na 1-2 minuti .... zagruzka 100%

Posted
интереснее было бы сравнить в одинаковой конфигурации сети и роутера интел с трикомом и реалтеком.

mav, сможете в этот роутер сначала реалтеки вставить ?

Есть Comepx'ы на реалтековском чипе, могу их попробовать

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.