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

PPPoE на нижеописанном железе/софте

Имеется писюковый NAS, DELL, 2 х Intel® Xeon™ CPU 2.40GHz

lspci | grep Ethernet

03:06.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet (rev 15)

03:08.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet (rev 15)

uname -a

Linux delta 2.6.18-6-686 #1 SMP Tue Jun 17 21:31:27 UTC 2008 i686 GNU/Linux (Etch)

rp-pppoe 3.10 в кернел моде.

 

На каждый ppp* при поднятии вешается шейпер, htb, два класса, локал/инет, sfq, + 4 фильтра с u32 match.

С ppp* снимается нетфлов через ulog.

Желаемая скорость локала - 10мбт (не много?).

 

По опыту при каком pps, трафике, примерном кол-ве сессий в ЧНН машина начнёт загибаться?

Что первое подкрутить чтобы подольше вытянуть на нём?

 

P/S u32 match можно заменить на fwmark, про тормознутость в курсе.

 

 

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


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

Ок... будем проверять в бою самостоятельно.

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


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

Все зависит от настроек. У меня однокотловый тянет около 20 Mbps / 600 сессий и не крякает.

Самый сложный вопрос - netflow.

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


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

RouterOS (Mikrotik) на том-же линуксе:

quad 2.3, 673 сессии, 120мбит, 20-23k pps - 19-20% cpu load

без проблем тянет до 1000 юзверей, трафик не помню.

 

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


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

Да, ipcad прилично кушает, мне это ненравится.

quad 2.3, 673 сессии, 120мбит, 20-23k pps - 19-20% cpu load

Есть ли у вас локальные тяжеловесные сервисы? 120мбт это как я понял чистый межабоненсткий усреднённый трафик?

Сколько в пике бывает в ЧНН?

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


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

>Имеется писюковый NAS, DELL, 2 х Intel® Xeon™ CPU 2.40GHz

 

HP Proliant quad 2.3

2 PPPoE интерфейса 1 броадком+1интелPCIE

прерывания руками развел по ядрам.

60-80мегабайт/с (100KPPS) На каждый интерфейс.

60-70%% загрузка на каждое ядро.

И регулярные ребуты. К сожалению.

pppoe4:~# lspci | grep Ethernet

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

17:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (rev 06)

pppoe4:~# uname -a

Linux pppoe4 2.6.18-4-amd64 #1 SMP Mon Mar 26 11:36:53 CEST 2007 x86_64 GNU/Linux

Debian Etch.

Что делать с этим безобразием - не представляю.

Начну с замены ядра на свежее. Может Уважаемый ЯдроКот подскажет на что обратить внимание в .config ?

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


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

Ядро старовато, я сейчас активно работаю с кернел девелоперами по стабилизации 2.6.27, и у меня на сайте есть стабилизационные патчи для 2.6.26

 

А ядро старше года сложно чинить. Первое что бы предложил - проапдейтить до 2.6.26 со стабилизационными патчами.

 

Кстати регулярные ребуты - crash-и чтоль?

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


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

kernel panic.

трассировка на консоли указывает на функции из драйвера e1000

Пробовал обновлять драйвер. И пробовал e1000e. Тоже самое.

Дайте ссылочку на Ваш сайт ?

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


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

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


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

Для того что-бы не лазать на консоль за сообщениями из panic, большинство из них можно получить через serial или netconsole. Какой метод предпочитаете?

Но думаю свежее ядро будет на порядок стабильнее.

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


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

Попробуйте отказаться от amd64. У нас оно нестабильно работало..

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


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

quad 2.3, 673 сессии, 120мбит, 20-23k pps - 19-20% cpu load

Есть ли у вас локальные тяжеловесные сервисы? 120мбт это как я понял чистый межабоненсткий усреднённый трафик?

Сколько в пике бывает в ЧНН?

Это без локальных сервисов, интернет-трафик на внешнем ethernet'е с одного из микротиков.

Максимум было 1000 юзверей одновременно на сервере, трафик не засекал.

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

 

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


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

За ссылки спасибо. И за netconsole.

О результатах сообщу.

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


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

Чтобы было стабильно, оставьте два из трёх: Linux, SMP, шейпер. Т.е., либо freebsd, либо побольше серверов, но без smp. Мы остановились на втором варианте.

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

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


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

Подскажите как развести прерывания по ядрам?

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


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

echo "N" /proc/irq/номер_прерывания/smp_affinity

N - битмаска

01 - первый процессор

02 - второй

04 - третий

08 - четвертый

 

01+04 =

03 - первый и третий

 

Список в /proc/interrupts

 

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


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

у BSD6 SMP на терминаторе не сильно кошерно. swi1:net хочет кушать исключительно 1 ядро/1 процессор. Это к замечанию про "оставить два из трех"

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


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

у BSD6 SMP на терминаторе не сильно кошерно. swi1:net хочет кушать исключительно 1 ядро/1 процессор. Это к замечанию про "оставить два из трех"

В бсд не силен. Просто остлеживаю картину, все работает стабильно именно в указанных вариантах.

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


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

echo "N" /proc/irq/номер_прерывания/smp_affinity

N - битмаска

01 - первый процессор

02 - второй

04 - третий

08 - четвертый

 

01+04 =

03 - первый и третий

 

Список в /proc/interrupts

Через sysctl.conf если прописать, будет работать? А номер прерывания где посмотреть? Где материалы по этому делу почитать подрьбнее?

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


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

Будет. Левая колонка в cat /proc/interrupts.

 

И, разносить нужно если у вас несколько сетевых карт...

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


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

Ну я так понял что прерывания каждой сетевушки нужно повесить на разные ядра, так? Это реально прирост в pps дает на SMP системах?

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


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

Если лан карт < к-во ядер то нужен irq balancing.

Обратно ели к примеру есть 4 лан и 2 ядра то нужно лан разделить по парам и повесить на разные ядра так чтобы трафик по парам был приблизительно равный. Изправьте если не прав.

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


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

irq balancing - есть конкретные реализации? Или это предположение?

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


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

Балансинг есть, но я лично бы его не рекомендовал - возникают проблемы с cache coherency.

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


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

RouterOS (Mikrotik) на том-же линуксе:

quad 2.3, 673 сессии, 120мбит, 20-23k pps - 19-20% cpu load

без проблем тянет до 1000 юзверей, трафик не помню.

У меня подобная система и конфигурация железа , и количество онлайн юзверей, только поток максимум 50 мегабит.......

 

при 55 начинаются потери и повышение пинга до 33 мс.

 

функции PPTP терминатор и все ни правил не шейперов

 

???? подскажешь в чем дело?

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


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

Join the conversation

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

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

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

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

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

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

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