mirk Posted November 24, 2009 Имеется сервер: Процессор - Core2 3.00GHz Память - 2 Гб Встроенная сетевая карта - Broadcom BCM5721 На сервере стоит Debian ядро 2.6.18-6-686 При установки системы ни каких оптимизаций под сетевые задачи не проводилось. Просто ставили как предлагалось по умолчанию. Основными задачами сервера являются: 1- «Выпускание» пользователей в Интернет средствами iptables 2 – Шейпинг трафика средствами tc Как обычно бывает, с ростом каналов, росла, и загрузка ЦП пришлось искать пути оптимизации. Практика показала, что и iptables и tc довольно легко поддаются оптимизации. iptables - путём структурирования правил. tc - в результате использования хешей. Эти решение дали примерно троекратный прирост производительности. Также был увеличен параметр / proc/sys/net/ipv4/netfilter/ip_conntrack_buckets – было присвоено значение равное ip_conntrack_max, что также разгрузило процессор примерно на 10%. Тем не менее, не смотря на всё вышеперечисленное, при потоке в 500 Мбит/с загрузка ЦП доходит до 70% Существует твердая уверенность, что канал и далее будет расти, а вот идей по оптимизации уже не осталось. Пожалуйста, подскажите, что ещё можно оптимизировать в сетевой подсистеме, дабы повысить её производительность? И ещё вопрос: Будет ли ощутимый прирост производительности, если вместо встроенной сетевой карты Broadcom BCM5721 поставить что-нибудь другое? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DemYaN Posted November 24, 2009 (edited) 1 Ядро поновее 2 Подробнее о Core2 3.00GHz 3 Broadcom заменить на Intel 82576 или 82571 4 «Выпускание» перевести на ipset 5 Шейп на одной машине, нат на другой 6 Поставить 2-й тазик или проапгрейдить этот до core i7 Edited November 24, 2009 by DemYaN Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dyr Posted November 24, 2009 Да и в память вы скорее всего уже упираетесь. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mirk Posted November 25, 2009 (edited) Спасибо за советы На счёт ядра, ipset и Broadcom попробуем NAT и так уже на другой машине Процессор: cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel® Core2 Duo CPU E6550 @ 2.33GHz stepping : 11 cpu MHz : 2327.555 cache size : 4096 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm bogomips : 4658.45 подскажите а как в Debian можно получит подробную инфу о установленных сетевых картах ? Edited November 25, 2009 by mirk Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DemYaN Posted November 25, 2009 (edited) lspci |grep Ethernet PS Процессор Core2 3.00GHz и Intel® Core™2 Duo CPU E6550 @ 2.33GHz как-то не совпадает :) Edited November 25, 2009 by DemYaN Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pliskinsad Posted November 25, 2009 (edited) подскажите а как в Debian можно получит подробную инфу о установленных сетевых картах ? можно сразу lspci, cat /proc/interrupts, ethtool -S eth0, ethtool -g eth0 Edited November 25, 2009 by pliskinsad Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...