Перейти к содержимому
Калькуляторы

Оптимизация софтового шейпера, фаервола

Имеется сервер:

Процессор - 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 поставить что-нибудь другое?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 Ядро поновее

2 Подробнее о Core2 3.00GHz

3 Broadcom заменить на Intel 82576 или 82571

4 «Выпускание» перевести на ipset

5 Шейп на одной машине, нат на другой

6 Поставить 2-й тазик или проапгрейдить этот до core i7

Изменено пользователем DemYaN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да и в память вы скорее всего уже упираетесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за советы

На счёт ядра, 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 можно получит подробную инфу о установленных сетевых картах ?

Изменено пользователем mirk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

lspci |grep Ethernet

 

PS Процессор Core2 3.00GHz и Intel® Core™2 Duo CPU E6550 @ 2.33GHz как-то не совпадает :)

Изменено пользователем DemYaN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подскажите а как в Debian можно получит подробную инфу о установленных сетевых картах ?

можно сразу lspci, cat /proc/interrupts, ethtool -S eth0, ethtool -g eth0

Изменено пользователем pliskinsad

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.