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

Какое ядро для PPPoE севера ? Linux PPPoE PPP

Какое ядро и патчи посоветуете выбрать для PPPoЕ сервера на машине quad core xeon 2.3 ?

2Г ОЗУ

3 сетевых адаптера.

1 смотрит в мир

2 в PPPoE

 

Трафик - 300-800 мгб/с суммарно.

800-900 абонентов онлайн.

TBF

ipset

 

Сейчас использую 2.6.29 работает более-менее стабильно (зависает раз в несколько месяцев)

Но последние месяцы с ростом абонентской базы и скоростей стали рости задержки при форвардинге пакетов.

Есть мнение, что замена ядра должна помочь.

На какое менять ?

 

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


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

У меня 2.6.27 на одном стоит, на другом 2.6.31, на обоих загрузка примерно такая же, ничего не тормозит. На одном один Ксеон 5405 (с ядром 2.6.31 и загрузкой поменьше), на другом два 5450 (с ядром 2.6.27 и загрузкой побольше). На обоих Gentoo. Ни ipset ни tbf нету, режу скорость так - в инет по тарифу с помощью htb, а если маршрут приходит из пиринга, то отмечаю это при помощи realm и вообще не режу. Правда, еще на обоих серверах ДНС стоят.

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

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


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

2.6.31 - варит poptop + pppoe (kernel-mode).

2.6.32 - варит бордюр :).

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


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

У меня 2.6.27 на одном стоит, на другом 2.6.31, на обоих загрузка примерно такая же, ничего не тормозит. На одном один Ксеон 5405 (с ядром 2.6.31 и загрузкой поменьше), на другом два 5450 (с ядром 2.6.27 и загрузкой побольше). На обоих Gentoo. Ни ipset ни tbf нету, режу скорость так - в инет по тарифу с помощью htb, а если маршрут приходит из пиринга, то отмечаю это при помощи realm и вообще не режу. Правда, еще на обоих серверах ДНС стоят.
И сколько чего при этом 5450 прожевывает?.

 

p.s. Заменил 2.6.27 на 2.6.31 на всех bras-ах, три месяца назад. - Полет нормальный.

 

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


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

>а если маршрут приходит из пиринга, то отмечаю это при помощи realm

Пример можно ?

 

>2.6.31

 

Патчи ?

 

Какие опции при сборке ядра советуете ?

 

 

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

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


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

> 2.6.31

 

Патчи ?

 

Какие опции при сборке ядра советуете ?

Стандартное ядро ALT Linux p5.

Из дополнительных модулей ipset и ipt-netflow.

Делает NAT и Netflow, на прикладном уровне Quagga BGP без full view.

При переходе с 2.6.27 загрузка процессора снизилась почти вдвое, предположительно из-за новых драйверов для сетевых карт broadcom.

Работает непрерывно с момента установки около 80 суток.

Нагрузка CPU до 60%, трафик до 500+250 mbps и 80+80 kpps.

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


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

И еще, каки е посоветуете настройки TCP стека и CONNTRACK для такой нагрузки ?

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


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

И еще, каки е посоветуете настройки TCP стека и CONNTRACK для такой нагрузки ?
/bin/echo 196608 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
/bin/echo 20 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close
/bin/echo 21600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
/bin/echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
/bin/echo 15 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_last_ack
/bin/echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv
/bin/echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent
/bin/echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
/bin/echo 131072 > /sys/module/nf_conntrack_ipv4/parameters/hashsize

 

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


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

net.ipv4.netfilter.ip_conntrack_max = 1048576

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800

net.netfilter.nf_conntrack_tcp_be_liberal=1

 

То есть таблица увеличена, таймаут уменьшен.

Без этого были переполнения.

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


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

А нужно ли вообще трассировать (contrack) соединения на простом роутере ? NAT не делается.

Может ненадо и вовсе ?

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


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

А нужно ли вообще трассировать (contrack) соединения на простом роутере ? NAT не делается.

Может ненадо и вовсе ?

Если нет НАТа, то ПМСМ незачем.

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


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

Jugernault

/bin/echo 196608 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
Интересно, как было получено число 196608? Вообще правило простое - ip_conntrack_max должен быть равен hashsize.

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


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

Jugernault
/bin/echo 196608 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
Интересно, как было получено число 196608? Вообще правило простое - ip_conntrack_max должен быть равен hashsize.

Ну вообще то по дефолту отношение ip_conntrack_max к hashsize - 8 к 1...

А доводить его до 1 к 1 - это не догма...

 

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


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

/bin/echo 196608 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max

/bin/echo 131072 > /sys/module/nf_conntrack_ipv4/parameters/hashsize

На один элемент массива максимум в среднем полтора конекшена? А в чём смысл? Ладно бы два. Оптимальнее 1:1. Нет?

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


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

Jugernault, а почему не 16 к 1? Здесь я так понимаю дело в экономии RAM. Просто при раскладе отличном от 1 к 1 увеличивается количество элементов в линейных списках (которые является элементами хеша). А поскольку внутри таких списков происходит линейный поиск - это определенная потеря производительности.

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


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

+ перевести jhash.h на использование функции lookup3, хеш-функции Дженкинса активно используется в nf_conntrack и sfq

+ route-кеш перевести на trie

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

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


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

+ route-кеш перевести на trie
FIB_TRIE/FIB_HASH это не роутинговый кеш, это способ хранения таблицы маршрутизации. Если кеш работает эффективно (мало miss-ов), то разницы между FIB_TRIE/FIB_HASH не чувствуется.

 

хеш-функции Дженкинса активно используется в nf_conntrack и sfq
Еще в dst cache очень активно.

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


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

Join the conversation

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

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

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

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

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

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

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