drv_sevstar Опубликовано 18 ноября, 2010 · Жалоба Народ, поделитесь опытом, кто как делает шейпера на серверах. Не удается прокачать больше 140Kpps (в каждую сторону, суммарно 280, ~1Gb в каждую сторону) сервер HP DL 160 G6 , 2 процессора Xeon E5504 по 4 ядра, 4 сетевухи Intel 82576 в 2-х бондингах Линукс, шейпер на хешах u32 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shicoy Опубликовано 18 ноября, 2010 · Жалоба а что потом происходит? дропы на интерфейсах? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 18 ноября, 2010 · Жалоба цпу в полку, дропы Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
cmhungry Опубликовано 18 ноября, 2010 · Жалоба поставить линукс, сделать полисинг Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
wtyd Опубликовано 18 ноября, 2010 · Жалоба там и так вроде линукс. Есть сомнения, что переход с htb на полисеры даст хотя бы 50% прироста pps, т.е. всёравно полка будет потом скоро. Как несколько адресов и + к ним подсетей (у одного абонента может быть несколько подключений и подсети) пихать в один полисер ? Вот в одну очередь можно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
2c2i Опубликовано 18 ноября, 2010 · Жалоба а если шейпер отключить, трафик растет и процессоры разгружаются? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 18 ноября, 2010 · Жалоба Так sofirq все ядра равномерно загружают? mpstat -P ALL покажи Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 18 ноября, 2010 (изменено) · Жалоба # mpstat -P ALL Linux 2.6.32-3-amd64 (shaper4) 18.11.2010 _x86_64_ (8 CPU) 16:43:37 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 16:43:37 all 0,02 0,01 0,16 0,01 1,94 36,38 0,00 0,00 61,47 16:43:37 0 0,06 0,00 0,14 0,00 0,85 30,72 0,00 0,00 68,22 16:43:37 1 0,04 0,01 0,14 0,00 0,88 30,54 0,00 0,00 68,39 16:43:37 2 0,01 0,00 0,11 0,00 5,62 35,03 0,00 0,00 59,22 16:43:37 3 0,01 0,00 0,11 0,00 0,85 30,74 0,00 0,00 68,29 16:43:37 4 0,03 0,02 0,13 0,02 0,79 39,64 0,00 0,00 59,39 16:43:37 5 0,01 0,01 0,41 0,05 0,78 40,62 0,00 0,00 58,13 16:43:37 6 0,00 0,00 0,11 0,00 5,02 43,18 0,00 0,00 51,69 16:43:37 7 0,00 0,00 0,14 0,01 0,77 40,64 0,00 0,00 58,43 а если шейпер отключить, трафик растет и процессоры разгружаются?Да - трафик резко вверх, процы вниз Хотелось бы услышать - кто сколько выжимал и на каком железе Изменено 18 ноября, 2010 пользователем drv_sevstar Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
a_andry Опубликовано 18 ноября, 2010 · Жалоба Какой выставлен InterruptThrottleRate для igb? Примерно структуру шейпера набросать можете? В общем случае, имхо, поставить что-то вроде oprofile, посмотреть что точно грузит систему. Отоптимизировать. Если оптимизировать уже некуда - ставить рядом еще один сервер и балансировать нагрузку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 18 ноября, 2010 · Жалоба а если шейпер отключить, трафик растет и процессоры разгружаются?Да - трафик резко вверх, процы вниз Хотелось бы услышать - кто сколько выжимал и на каком железе Подозреваю, что хэш-фильтры созданы неправильно. Как у вас выглядят типичные правила? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vitalyb Опубликовано 18 ноября, 2010 · Жалоба сделать полисингна linux полисинг не даст существенного прироста... 10-20% максимум drv_sevstar прерывания к cpu прибиты? на выводе mpstat "cpu в полку" не видно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 18 ноября, 2010 · Жалоба сделать полисингна linux полисинг не даст существенного прироста... 10-20% максимум drv_sevstar прерывания к cpu прибиты? на выводе mpstat "cpu в полку" не видно прибитыодин физический проц на один бондинг, второй на второй бондинг # cat irq.sh #!/bin/bash # bond1 internet echo 01 > /proc/irq/55/smp_affinity #eth3-tx-0 echo 02 > /proc/irq/56/smp_affinity #eth3-tx-1 echo 04 > /proc/irq/57/smp_affinity #eth3-tx-2 echo 08 > /proc/irq/58/smp_affinity #eth3-tx-3 echo 01 > /proc/irq/59/smp_affinity #eth3-rx-0 echo 02 > /proc/irq/60/smp_affinity #eth3-rx-1 echo 04 > /proc/irq/61/smp_affinity #eth3-rx-2 echo 08 > /proc/irq/62/smp_affinity #eth3-rx-3 echo 01 > /proc/irq/65/smp_affinity #eth2-tx-0 echo 02 > /proc/irq/66/smp_affinity #eth2-tx-1 echo 04 > /proc/irq/67/smp_affinity #eth2-tx-2 echo 08 > /proc/irq/68/smp_affinity #eth2-tx-3 echo 01 > /proc/irq/69/smp_affinity #eth2-rx-0 echo 02 > /proc/irq/70/smp_affinity #eth2-rx-1 echo 04 > /proc/irq/71/smp_affinity #eth2-rx-2 echo 08 > /proc/irq/72/smp_affinity #eth2-rx-3 # bond0 local net echo 10 > /proc/irq/74/smp_affinity #eth0-tx-0 echo 20 > /proc/irq/75/smp_affinity #eth0-tx-1 echo 40 > /proc/irq/76/smp_affinity #eth0-tx-2 echo 80 > /proc/irq/77/smp_affinity #eth0-tx-3 echo 10 > /proc/irq/78/smp_affinity #eth0-rx-0 echo 20 > /proc/irq/79/smp_affinity #eth0-rx-1 echo 40 > /proc/irq/80/smp_affinity #eth0-rx-2 echo 80 > /proc/irq/81/smp_affinity #eth0-rx-3 echo 10 > /proc/irq/83/smp_affinity #eth1-tx-0 echo 20 > /proc/irq/84/smp_affinity #eth1-tx-1 echo 40 > /proc/irq/85/smp_affinity #eth1-tx-2 echo 80 > /proc/irq/86/smp_affinity #eth1-tx-3 echo 10 > /proc/irq/87/smp_affinity #eth1-rx-0 echo 20 > /proc/irq/88/smp_affinity #eth1-rx-1 echo 40 > /proc/irq/89/smp_affinity #eth1-rx-2 echo 80 > /proc/irq/90/smp_affinity #eth1-rx-3 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 18 ноября, 2010 · Жалоба на выводе mpstat "cpu в полку" не видноПолки нет по тому что время было ок 16:00, во первых(пик в 20-21), во вторых пер***нсировали на другие шейпера, не терпеть же такое безобразие.Но проблему это не снимает. На HP DL160 G6 в минимальной конфигурации, с одним процом выжимаеться до 700-800 Mbit в каждую сторону, (100-110 Kpps в каждую сторону), а тут железка в 3 раза дороже, а имеем прироста 15-20% макс. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 18 ноября, 2010 (изменено) · Жалоба Чего то не понял к это соотносится? Linux 2.6.32-3-amd64 и 2 процессора Xeon E5504 по 4 ядра Изменено 18 ноября, 2010 пользователем SokolovS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Elisium Опубликовано 19 ноября, 2010 · Жалоба Народ, поделитесь опытом, кто как делает шейпера на серверах. Фря 7.3, Дамминет. ОДИН Ксеон 5520. Одна сетевуха Интел EXPI9404PT. Примерно 1400/700 трафика, 360-390 кппс. Дрова Яндех+тюнинг. Загрузка примерно 60-70%. п.с. Смотрел "на глазок". Только сегодня поставили, точной статистики еще нет, могу и наврать ( Отдельно НАТ. Пролетает суммарно гига два. Это все в ЧНН - примерно 6-8 часов в сутки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 19 ноября, 2010 · Жалоба Какой выставлен InterruptThrottleRate для igb? Примерно структуру шейпера набросать можете?Стояло по дефолту (3)Сейчас переключил на 1 , посмотрю результат. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 19 ноября, 2010 · Жалоба Другими важными параметрами являются размеры rx/tx rings (см. вывод ethtool -g <iface>) и txqueuelen, который устанавливается с помощью ifconfig или ip из iproute2. При больших пакетрейтах их надо увеличить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Zluka52 Опубликовано 19 ноября, 2010 (изменено) · Жалоба Linux 2.6.32 sc скрипт. Xeon E5520 (с HT 8 ядер) Cетевухи: 2+2 igb 8257, bonding, InterruptThrottleRate=20000 ethtool -G eth0 rx 2048 tx 2048 ethtool -K eth0 rx off tx off gso off В пиках кидал 1340in/1220out (pps в сумме около 500к) жрало около 50% проца. Фильтры выглядят так: tc filter show dev bond1 filter parent 1: protocol ip pref 2 flow filter parent 1: protocol ip pref 2 flow handle 0x1 map keys dst and 0x0000ffff baseclass 1:1 Еще для части IP собирает netflow. Так что ваш 5504 должен тоже нормально работать. Изменено 19 ноября, 2010 пользователем Zluka52 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 19 ноября, 2010 · Жалоба Другими важными параметрами являются размеры rx/tx rings (см. вывод ethtool -g <iface>) и txqueuelen, который устанавливается с помощью ifconfig или ip из iproute2. При больших пакетрейтах их надо увеличить.rx/tx rings выставил в 4096txqueuelen на eth и bond выставлены в 1000 - увеличить? и еще - в вланах на богдингах txqueuelen=0 Есть смысл его там выставлять? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
drv_sevstar Опубликовано 19 ноября, 2010 · Жалоба Linux 2.6.32 sc скрипт. Xeon E5520 (с HT 8 ядер) Cетевухи: 2+2 igb 8257, bonding, InterruptThrottleRate=20000 ethtool -G eth0 rx 2048 tx 2048 ethtool -K eth0 rx off tx off gso off В пиках кидал 1340in/1220out (pps в сумме около 500к) жрало около 50% проца. Фильтры выглядят так: tc filter show dev bond1 filter parent 1: protocol ip pref 2 flow filter parent 1: protocol ip pref 2 flow handle 0x1 map keys dst and 0x0000ffff baseclass 1:1 Еще для части IP собирает netflow. Так что ваш 5504 должен тоже нормально работать. Можно по подробнее как у вас построены правила tcЕсли можно - tc -batch файл в личку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 19 ноября, 2010 · Жалоба txqueuelen на eth и bond выставлены в 1000 - увеличить? Конечно, это же те самые очереди, что используются для шейпинга. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 20 ноября, 2010 · Жалоба txqueuelen на eth и bond выставлены в 1000 - увеличить?Конечно, это же те самые очереди, что используются для шейпинга. Только для физических интерфейсов имеет смысл Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
wtyd Опубликовано 21 ноября, 2010 · Жалоба txqueuelen на eth и bond выставлены в 1000 - увеличить?Конечно, это же те самые очереди, что используются для шейпинга. Только для физических интерфейсов имеет смысл Существует ли како-то (мнемоническое?) правило для определения размера этой очереди ? Например, если для 100Mbit следует использовать 1'000 пакетов, то для гигабита - 10'000 ? При МТУ 1500 и для 100 мегабит это (1'500байт * 8бит_в_байте * 1'000 пакетов)/100'000'000бит/сек = 0.12 секунды трафика. Может быть как-то исходя из этого считать ? Сколько секунд трафика должно помещаться в этой очереди ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 21 ноября, 2010 (изменено) · Жалоба Попробуй для начала 3000 - 5000 ставить, для 100 Мбит на самом деле по дефолту 100 стоит, а для гигабита 1000, но этого уже мало. MTU то может и 1500, но размер пакета у меня средний ~600 байт. Изменено 21 ноября, 2010 пользователем SokolovS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 21 ноября, 2010 · Жалоба При МТУ 1500Ethernet [+vlan] забыли.На интерфейс ОС передаёт пакеты уже с ethernet заголовками. txqueuelenкак следует из названия это ДЛИНА очереди, определяемая количеством элементов, а никак не размеры буферов пакетов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...