The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"сервер rp-pppoe предельная скорость ~60Mbit/s"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 22-Апр-10, 21:45 
есть 3 NAS на которые по PPPoE коннектятся клиенты. Недавно обнаружилась такая неприятная особенность. Суммарная пропускная способность каждого NAS упирается в 60Mbit/s (это приблизительное значение). Выше подниматься не хочет упорно. Внешний канал 500Mbit/s, так что говорить о том, что не хватает полосы не приходится. Без PPPoE выгребаем канал без проблем (бордер-маршрутизатор с такой нагрузкой справляется). Однозначно затык на PPPoE.
Google решения не дает. Кто-нибудь сталкивался с аналогичной проблеммой?
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от PavelR (??) on 23-Апр-10, 09:07 
>есть 3 NAS на которые по PPPoE коннектятся клиенты. Недавно обнаружилась такая
>неприятная особенность. Суммарная пропускная способность каждого NAS упирается в 60Mbit/s (это
>приблизительное значение). Выше подниматься не хочет упорно. Внешний канал 500Mbit/s, так
>что говорить о том, что не хватает полосы не приходится. Без
>PPPoE выгребаем канал без проблем (бордер-маршрутизатор с такой нагрузкой справляется). Однозначно
>затык на PPPoE.
>Google решения не дает. Кто-нибудь сталкивался с аналогичной проблеммой?

Use FreeBSD ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 10:16 
>Use FreeBSD ?

No, Linux.

Хотя уже начинают возникать подозрение, что надо будет переезжать с софтверных NAS на железные.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от pavel_simple (ok) on 23-Апр-10, 10:34 
>>Use FreeBSD ?
>
>No, Linux.
>
>Хотя уже начинают возникать подозрение, что надо будет переезжать с софтверных NAS
>на железные.

ну ооочень маленькая скорость

1. количество правил netfilter?
2. кол-во правил shaper'а
3. pppoe ядерный?
4. нагрузка какая и где?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 10:55 
>>>Use FreeBSD ?
>>
>>No, Linux.
>>
>>Хотя уже начинают возникать подозрение, что надо будет переезжать с софтверных NAS
>>на железные.
>
>ну ооочень маленькая скорость
>

параметры для каждого из 2-х NAS отличаются, буду приводить усредненное значение

>1. количество правил netfilter?

~300

>2. кол-во правил shaper'а

по одному на интерфейс, причем количество подключений в зависимости от NAS и времени суток может меняться от 30-50 и до 200-400, что, в принципе, ни как не влияет на конечный результат.

>3. pppoe ядерный?

да

>4. нагрузка какая и где?

если имеется в виду нагрузка на CPU, то выше 30% не поднимается ни на одном из NAS. Если на интерфейсы, то все те же 60 Мбит. Интерфейсы гигабитные, карты - Intel 82572EI. Опять же повторюсь - если что-то качать с самого NAS или использовать его как маршрутизатор при всех прочих равных условиях - получаю весь канал или тут полосу, что вешаю на шейпер.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от pavel_simple (ok) on 23-Апр-10, 11:03 
>[оверквотинг удален]
>>
>>ну ооочень маленькая скорость
>>
>
>параметры для каждого из 2-х NAS отличаются, буду приводить усредненное значение
>
>>1. количество правил netfilter?
>
>~300
>

уже много

>>2. кол-во правил shaper'а
>
>по одному на интерфейс, причем количество подключений в зависимости от NAS и
>времени суток может меняться от 30-50 и до 200-400, что, в
>принципе, ни как не влияет на конечный результат.
>

тогда конкретно какое?
>>3. pppoe ядерный?
>
>да
>
>>4. нагрузка какая и где?
>
>если имеется в виду нагрузка на CPU, то выше 30% не поднимается
>ни на одном из NAS. Если на интерфейсы, то все те
>же 60 Мбит. Интерфейсы гигабитные, карты - Intel 82572EI.

или статистика нагрузки вами не верно читается или у вас проблемы с вводом-выводом и/или памятью iowait какой?

платформа серверная? ECC есть? ошибки IPMI имеются?

количество pps?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 11:12 
>
>или статистика нагрузки вами не верно читается или у вас проблемы с
>вводом-выводом и/или памятью iowait какой?

на всех 3-х NAS сразу проблема? Один из NAS вообще грузится с FLASH, которые монтируется только по чтению, и пишет журналы на виртуальный диск.

>платформа серверная? ECC есть? ошибки IPMI имеются?

платформа, к сожалению, пока не серверная, но опять же везде разная. В плоть до того, что на одном из NAS система 32-битная, на 2-х других - x86_64. А предельная пропускная способность везде одна.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от pavel_simple (ok) on 23-Апр-10, 11:15 
>>
>>или статистика нагрузки вами не верно читается или у вас проблемы с
>>вводом-выводом и/или памятью iowait какой?
>
>на всех 3-х NAS сразу проблема?
>

^^^или статистика нагрузки вами не верно

а что настройки на всех отличаются кардинально?

если то, что как мне кажется необходимо указать для вас проблема, то извините -- телепаты по прежнему в отпуске.

>>платформа серверная? ECC есть? ошибки IPMI имеются?
>
>платформа, к сожалению, пока не серверная, но опять же везде разная. В
>плоть до того, что на одном из NAS система 32-битная, на
>2-х других - x86_64. А предельная пропускная способность везде одна.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 11:34 
Это с одного из NAS. подключено 170 pppoe-сессий

top - 10:30:24 up 115 days, 17:35,  5 users,  load average: 0.46, 0.58, 0.61
Tasks: 342 total,   1 running, 341 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.1%us,  5.1%sy,  0.0%ni, 44.8%id, 17.2%wa,  6.4%hi, 20.3%si,  0.0%st
Mem:   3919844k total,  3586992k used,   332852k free,   192648k buffers
Swap:  5285376k total,      728k used,  5284648k free,  2455292k cached

# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0    728 309372 192652 2463060    0    0     3   228    1    1 12 27 58  3  0

# iostat
Linux 2.6.27.19-V1 (db)         04/23/10        _x86_64_

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.40    4.44   50.42    3.24    0.00   57.81

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              33.63        12.94       887.45  129438426 8874456576
sda1              0.00         0.00         0.00       2802       3440
sda2             26.96        12.94       887.45  129434384 8874453136
sdb               0.00         0.07         0.00     724340      30176
sdb2              0.00         0.07         0.00     722628      30176
sdc               2.56         0.21        39.32    2092785  393215335
sdc1              2.56         0.21        39.32    2092289  393215335
drbd0             4.93         0.21        39.32    2085416  393153800


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от pavel_simple (ok) on 23-Апр-10, 11:38 
>[оверквотинг удален]
>top - 10:30:24 up 115 days, 17:35,  5 users,  load
>average: 0.46, 0.58, 0.61
>Tasks: 342 total,   1 running, 341 sleeping,   0
>stopped,   0 zombie
>Cpu(s):  6.1%us,  5.1%sy,  0.0%ni, 44.8%id, 17.2%wa,  6.4%hi, 20.3%si,
> 0.0%st
>Mem:   3919844k total,  3586992k used,   332852k free,
>  192648k buffers
>Swap:  5285376k total,      728k used,  
>5284648k free,  2455292k cached

17.2%wa,  6.4%hi, 20.3%si,

т.е. 20 % времени система ждёт, ещё 20 уходит на soft interrupt -- вот вам и 40 процентов idle

жду ответа на остальные вопросы. + uname -a

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 11:43 

>жду ответа на остальные вопросы. + uname -a

# uname -a
Linux db 2.6.27.19-V1 #2 SMP Tue Jun 16 20:43:11 EEST 2009 x86_64 x86_64 x86_64 GNU/Linux

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от pavel_simple (ok) on 23-Апр-10, 11:46 
>
>>жду ответа на остальные вопросы. + uname -a
>
># uname -a
>Linux db 2.6.27.19-V1 #2 SMP Tue Jun 16 20:43:11 EEST 2009 x86_64
>x86_64 x86_64 GNU/Linux

повторю

кол-во pps?
какой конкретно shaper? правило tc это секрет?
lsmod | grep ppp ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 12:11 
Вот такой скрипт вешает правила на интерфейс

#!/usr/bin/perl

$INTERFACE=$ARGV[0];
$DEVICE=$ARGV[1];
$SPEED=$ARGV[2];
$LOCALIP=$ARGV[3];
$REMOTEIP=$ARGV[4];
$IPPARAM=$ARGV[5];

$TC = "/usr/sbin/tc";

if(!($INTERFACE =~ /^ppp\d+/i))
{
    exit(0);
};

$file_name = "/var/run/radattr.$INTERFACE";
$NET = 100;
$SPEED_1 = 128;
$SPEED_2 = 128;
if( -e "$file_name")
{
    open(RAD,"<$file_name");
    while(<RAD>)
    {
        chomp();
        CASE:
        {
            if($_ =~ /Filter-Id[ \t]+(\d+)/) { $NET = $1; last CASE; };
            if($_ =~ /PPPD-Downstream-Speed-Limit[ \t]+(\d+)/) { $SPEED_2 = $1; last CASE; };
            if($_ =~ /PPPD-Upstream-Speed-Limit[ \t]+(\d+)/) { $SPEED_1 = $1; last CASE; };
        };
    };
    close(RAD);
};

$BURST_DOWN = int($SPEED_1 / 8 * 1.5);
$BURST_UP   = int($SPEED_2 / 8 * 1.5);

if($BURST_UP < 100) { $BURST_UP = 100; };
if($BURST_DOWN < 100) { $BURST_DOWN = 100; };

$BURST_DOWN_2 = $BURST_DOWN;

`logger "Rate is ${SPEED_1}/${SPEED_2} burst ${BURST_DOWN_2}/${BURST_UP}"`;

`$TC qdisc add dev $INTERFACE root handle 1: htb default 20`;
`$TC class add dev $INTERFACE parent 1:  classid 1:1  htb prio 1 rate ${SPEED_1}kbit ceil ${SPEED_1}kbit burst ${BURST_DOWN_2}k`;

`$TC class add dev $INTERFACE parent 1:1 classid 1:10 htb prio 1 rate ${SPEED_1}kbit ceil ${SPEED_1}kbit burst ${BURST_DOWN}k`;
`$TC class add dev $INTERFACE parent 1:1 classid 1:20 htb prio 2 rate ${SPEED_1}kbit ceil ${SPEED_1}kbit burst ${BURST_DOWN}k`;

`$TC qdisc add dev $INTERFACE parent 1:10 handle 10: sfq`;
`$TC qdisc add dev $INTERFACE parent 1:20 handle 20: sfq`;

`$TC filter add dev $INTERFACE parent 1: protocol ip prio 5 u32 match ip protocol 6 0xff match ip dport 5190 0xffff flowid 1:10`;
`$TC filter add dev $INTERFACE parent 1: protocol ip prio 5 u32 match ip protocol 1 0xff flowid 1:10`;

`$TC qdisc add dev $INTERFACE handle ffff: ingress`;
`$TC filter add dev $INTERFACE parent ffff: protocol ip prio 10 u32 match u32 0 0 police rate ${SPEED_2}kbit burst ${BURST_UP}k mtu 15k drop flowid ffff:`;

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от pavel_simple (ok) on 23-Апр-10, 12:55 
>[оверквотинг удален]
>`$TC filter add dev $INTERFACE parent 1: protocol ip prio 5 u32
>match ip protocol 6 0xff match ip dport 5190 0xffff flowid
>1:10`;
>`$TC filter add dev $INTERFACE parent 1: protocol ip prio 5 u32
>match ip protocol 1 0xff flowid 1:10`;
>
>`$TC qdisc add dev $INTERFACE handle ffff: ingress`;
>`$TC filter add dev $INTERFACE parent ffff: protocol ip prio 10 u32
>match u32 0 0 police rate ${SPEED_2}kbit burst ${BURST_UP}k mtu 15k
>drop flowid ffff:`;

это ^^^ далеко не одно правило на интерфейс, помимо того если и полисовать исходящий -- то нужно это сделать на исходящем интерфейсе а не на ppp, неужели такое нагромаждение ради несчастного icq?

pps = packet per second.

хотя в данном случае можно ставить точку
1. оптимизировать iptables, использовать по возможности ipset
2. оптимизировать tc, как вариант использовать хеши и flow
3. накрайняк попробовать фряху + mpd

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 12:11 
# lsmod | grep ppp
pppoe                  12320  340
pppox                   4232  1 pppoe
ppp_generic            25792  682 pppoe,pppox
slhc                    6248  1 ppp_generic
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от Huron (ok) on 23-Апр-10, 12:25 
>кол-во pps?

что конкретно имелось в виду под pps?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "сервер rp-pppoe предельная скорость ~60Mbit/s"  +/
Сообщение от rr on 23-Апр-10, 12:57 
packets per second
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру