Здравствуйте!
Есть проблема которую никак не могу решить самостоятельно. :(Есть сервер:
MB: Supermicro Server 5015M-MF+
CPU: Intel Pentium 4 CPU 3.20GHz 2048 Kb cashe
RAM: ECC DDR2 2048Mb 667MHz unbuffered
LAN: Intel(R) PRO/1000 PT Dualport Server Adapter (PCI Express:2.5Gb/s:Width x4)На сервере Linux Fedora Core 7.0, ядро 2.6.23.1.
Функционально сервер работает как обычный роутер, держит bgp и firewall на iptables.Проблема заключается в том, что при увеличении скорости потока сквозь сервер выше 180 МБит/с, сервер начинает тормозить, пинг через него прыгает до 50 ms. Соответственно скорость потока выше 180-190 МБит/с сервер не пропускает.
Командой top увидел:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4 root 15 -5 0 0 0 R 100 0.0 18395:45 ksoftirqd/0Насколько я понимаю ядро ksoftirqd/0 использует все процессорное время, из-за чего и начинаются тормоза.
Подскажите, может можно как то оптимизировать ядро, или в чем то еще может быть проблема?
>
>Проблема заключается в том, что при увеличении скорости потока сквозь сервер выше
>180 МБит/с, сервер начинает тормозить, пинг через него прыгает до 50
>ms. Соответственно скорость потока выше 180-190 МБит/с сервер не пропускает.
>
>
>Подскажите, может можно как то оптимизировать ядро, или в чем то еще
>может быть проблема?проблема в драйвере сетевой карты, вернее в отсутствие поддержки NAPI - генерится слишком много прерываний. Что само по себе странно, т.к. е1000 имеет NAPI.
>>Проблема заключается в том, что при увеличении скорости потока сквозь сервер выше
>>180 МБит/с, сервер начинает тормозить, пинг через него прыгает до 50
>>ms. Соответственно скорость потока выше 180-190 МБит/с сервер не пропускает.
>проблема в драйвере сетевой карты, вернее в отсутствие поддержки NAPI - генерится
>слишком много прерываний. Что само по себе странно, т.к. е1000
>имеет NAPI.Использую драйвер e1000 который был с ядром 2.6.23.1
Драйвер вкомпилирован в ядро.Может проблема в том, что на сервере 4 сетевые карты intel на разных чипах:
- интегрированые:
Intel® 82573L PCI-e Gigabit LAN
Intel® 82573V PCI-e Gigabit LAN
- внешняя Intel(R) PRO/1000 PT Dualport Server Adapter (PCI Express:2.5Gb/s:Width x4)
Intel® 82571GB PCI-e Gigabit LAN
Intel® 82571GB PCI-e Gigabit LANИспользую реально 3 последние а драйвер общий e1000 на все 4 сетевухи.
Может проблема в этом и есть смысл включить vlan`ы и повесить все на 1 сетевую?
Все, проблема решена!Дело было не в драйверах сетевой карты а в firewall`е.
Пропатчил ядро под ipset, перекомпилировал ядро и iptables, переделал правила firewall`а под использование модуля ipset в iptables и проблема решилась (http://ipset.netfilter.org). Теперь ksoftirqd использует не более 1% процессорного времени. :)Спасибо всем за помощь!
Ув. torik. Не могли Бы Вы отписать на demtaric@gmail.com
У меня схожая проблема.
>Ув. torik. Не могли Бы Вы отписать на demtaric@gmail.com
>У меня схожая проблема.Присоединяюсь, та же трабла.
Уважаемые, подскажите плз, чем так хорош этот ipset? Если в файрволе не более 30 правил имеет смысл его ставить? Почитав http://ipset.netfilter.org так и не понял, как его правильно "готовить".