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

шейпер (shaper) HTB+iptables

похожей темы с решением не нашёл, пишу новую

 

сервак x86_64 Intel® Xeon® CPU E5405 @ 2.00GHz 8 ядер

сетевые 1000gb intel дрова модулями

шейпер htb собран модулями

tc qdisc del dev eth0 root
tc qdisc del dev eth1 root
tc qdisc add dev eth0 root handle 1: htb default 2
tc class add dev eth0 parent 1: classid 1:1 htb rate 990mbit ceil 1000mbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:2 htb rate 890mbit ceil 900mbit prio 1 quantum 1500
tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle 1 fw classid 1:2
tc qdisc add dev eth1 root handle 4: htb default 2
tc class add dev eth1 parent 4: classid 4:1 htb rate 990mbit ceil 1000mbit quantum 1500
tc class add dev eth1 parent 4:1 classid 4:2 htb rate 890mbit ceil 900mbit prio 1 quantum 1500
tc filter add dev eth1 parent 4:0 protocol ip prio 2 handle 4 fw classid 4:2
tc class add dev eth0 parent 1:1 classid 1:1297 htb rate 2047kbit ceil 2048kbit burst 2kbit prio 0 quantum 1500
tc qdisc add dev eth0 parent 1:1297 handle 1297: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 1297 fw classid 1:1297
tc class add dev eth1 parent 4:1 classid 4:1297 htb rate 2047kbit ceil 2048kbit burst 2kbit prio 0 quantum 1500
tc qdisc add dev eth1 parent 4:1297 handle 1297: sfq perturb 10
tc filter add dev eth1 parent 4:0 protocol ip prio 1 handle 1297 fw classid 4:1297
tc class add dev eth0 parent 1:1 classid 1:1417 htb rate 2047kbit ceil 2048kbit burst 2kbit prio 0 quantum 1500
tc qdisc add dev eth0 parent 1:1417 handle 1417: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 1417 fw classid 1:1417
tc class add dev eth1 parent 4:1 classid 4:1417 htb rate 2047kbit ceil 2048kbit burst 2kbit prio 0 quantum 1500
tc qdisc add dev eth1 parent 4:1417 handle 1417: sfq perturb 10

 

в мангле правила разбиты на подсети

 

54: 348637865 370578379 370527769 2242213314 6418 6358 6371 6288 PCI-MSI-edge eth0

55: 402 409 377 1489409476 3292381864 3292098405 1704293745 1803307265 PCI-MSI-edge eth1 подвисает не знаю почему

 

net.ipv4.netfilter.ip_conntrack_max = 256000

net.ipv4.netfilter.ip_conntrack_count = 142638

тута вроде нормально

 

а теперь по делу: вечер , онлайн 2000 чел , канал 800мб.с без шейпера грузят на 700-720мб всовываем первые 10 правил tc канал падает до 500

если загрузить весь шейпер , скорость падает до 400, а это я ещё в мангле не вешал ни одного правила, проц грузит 25-30%

 

У кого есть мысли?

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

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


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

Какие сетевые карты, разбросаны ли по ядрам процессора, загрузка процессоров, pps, количество прерываний в секунду и все что еще посчитаете нужным сообщить.

Потом начнем телепатировать.

 

P.S. Когда-то читал, что net.ipv4.netfilter.ip_conntrack_max должен быть степенью двойки.

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

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


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

05:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)

05:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)

прерывания на каждую по 4 ядра, загрузка в пиках не более 30 %

сейчас не глючит на ядро 10000 прерываний за 4 секунды

а когда глючит на ядро приходится 100-2000 за тоже время

 

 

зы conntrack_max вроде как не принципиально

зы2 удачной абонки

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


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

Подходы к шейпингу на Linux обсуждаются, например, здесь: http://forum.nag.ru/forum/index.php?showtopic=48301

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

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


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

Ну а теперь сам отвечу на свой вопрос. А то таких тем много а ответа на них НЕТ

 

Проблема была в умирающих пакетах при этом вся нагрузка переходила на 1 ядро проца

ethtool -S eth0
     rx_no_buffer_count: 505525342
     rx_missed_errors: 93174265
     rx_csum_offload_errors: 1706633

по советам бывалых увеличил

ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096
Current hardware settings:
RX:             2048
RX Mini:        0
RX Jumbo:       0
TX:             256

Результата получил мало, те же яйца только вид сбоку

 

далее убрал принудительную фрагментацию пакетов

ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: on

а потом избавился от IPTABLES в пользу хешей u32 http://lartc.org/lartc.html#LARTC.ADV-FILTER.HASHING

 

Дикие тормоза пропали, жду большей нагрузки

 

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


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

Join the conversation

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

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

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

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

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

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

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