The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"DUMMYNET и тормоза"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"DUMMYNET и тормоза"  
Сообщение от foobar (ok) on 28-Мрт-06, 19:05 
Имеется FreeBSD 4.11-RELEASE-p10
ipfw show|grep pipe|wc -l
3289

Железо - iP4-3GHz, em0 (гигабитный интел) polling.
в моменты нагрузки железяка очень начинает тормозить, есть ли что в системе по этому поводу чтобы подтюнить?
Тормозит на сетевом уровне - пинги на нее увеличиваются до 200мсек от машин которые в pipe'ах не прописаны, сами пайпы начинают врать, где 256кбит - имеем реально ~90-100kbit...
В ядре:
options         HZ=200

пробовал ставить HZ=2000, после чего часы начинают отставать в системе, толку - ноль.

как быть?

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

 Оглавление

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


1. "DUMMYNET и тормоза"  
Сообщение от foobar (??) on 29-Мрт-06, 13:01 
идей ни у кого не будет?
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "DUMMYNET и тормоза"  
Сообщение от Lexleo email(??) on 29-Мрт-06, 17:58 
>идей ни у кого не будет?

Подобная проблема решилась у меня "вычёсыванием" файрволла, использованием tables и mask src-ip mask dst-ip  при конфигурации pipe's. rc.firewall  в студию - подскажу по возможности.

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

3. "DUMMYNET и тормоза"  
Сообщение от foobar (??) on 30-Мрт-06, 09:58 
>>идей ни у кого не будет?
>
>Подобная проблема решилась у меня "вычёсыванием" файрволла, использованием tables и mask src-ip
>mask dst-ip  при конфигурации pipe's. rc.firewall  в студию -
>подскажу по возможности.
ситуация такая, написан биллинг с заточкой для зарезки скоростей по IP для каждого пользователя, соотв. получился трабл - ~3200+ правил с pipe'ами.
Вчера просчитал, с пару часов посидел, повыгребал и получил в итоге ~800 вместо ~3200 за счет mask dst-ip 0x000000ff для x.x.x.x/24.

Хочу у тебя спросить - введение таблиц поможет ли для увеличения скорости? Сколько одна таблица может содержать записей? Я так понимаю это фича ipfw2 ?
спасибо!

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

4. "DUMMYNET и тормоза"  
Сообщение от lexleo email(??) on 30-Мрт-06, 15:31 

>ситуация такая, написан биллинг с заточкой для зарезки скоростей по IP для
>каждого пользователя, соотв. получился трабл - ~3200+ правил с pipe'ами.
>Вчера просчитал, с пару часов посидел, повыгребал и получил в итоге ~800
>вместо ~3200 за счет mask dst-ip 0x000000ff для x.x.x.x/24.
>
>Хочу у тебя спросить - введение таблиц поможет ли для увеличения скорости?
>Сколько одна таблица может содержать записей? Я так понимаю это фича
>ipfw2 ?
>спасибо!

В моём случае таблицы существенно разгрузили "нарезающую" машину.
В одной из таблиц около 1000 записей - работает.
Фича соответственно ipfw2.


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

5. "DUMMYNET и тормоза"  
Сообщение от foobar (??) on 30-Мрт-06, 22:48 
>В моём случае таблицы существенно разгрузили "нарезающую" машину.
>В одной из таблиц около 1000 записей - работает.
>Фича соответственно ipfw2.
спасибо,
можешь дать пример и таблицы и правила для таблицы?

обязательно попробую на таблицы перейти, о результатах отпишусь!

Кстати, dst-ip/src-ip тоже надо в ff ставить при использовании table?

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

6. "DUMMYNET и тормоза"  
Сообщение от lexleo email(??) on 31-Мрт-06, 12:34 
Тогда прошу уточнить - сколько различных тарифов надо обслуживать, занимается ли роутингом твоя машина или только шейпит.


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

7. "DUMMYNET и тормоза"  
Сообщение от foobar (??) on 31-Мрт-06, 12:52 
>Тогда прошу уточнить - сколько различных тарифов надо обслуживать, занимается ли роутингом
>твоя машина или только шейпит.
роутит, шейпит, ~200 vpn подключений постоянно и даже маленькая bgp сессия ;) ну и ospfd даже крутится, а ещё ipnat :D
Еще с сотню VLAN'ов и ~50+ trafd висит, и периодически с 'ng' интерфейсов ng_ipacctd собирает статистику и скармливает mysql (этот уже на другом хосте).

Вот такой вот монстрик.

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

8. "DUMMYNET и тормоза"  
Сообщение от lexleo email(??) on 31-Мрт-06, 18:16 
>>Тогда прошу уточнить - сколько различных тарифов надо обслуживать, занимается ли роутингом
>>твоя машина или только шейпит.
>роутит, шейпит, ~200 vpn подключений постоянно и даже маленькая bgp сессия ;)
>ну и ospfd даже крутится, а ещё ipnat :D
>Еще с сотню VLAN'ов и ~50+ trafd висит, и периодически с 'ng'
>интерфейсов ng_ipacctd собирает статистику и скармливает mysql (этот уже на другом
>хосте).
>
>Вот такой вот монстрик.

А не проще ль шейпер вынести на отдельный бридж? В своё время у меня тоже на одной тачке всё крутилось, пока проц под сотню не загрузился. Потом я разделил мясо и мух - роутер роутит, бридж шейпит , интеловские гиговые карточки, и эта конструкция 200Мбит прожёвывает без напрягу с запасом. Шейпер на бридже организован так: несколько файлов с IP-шками, перловый скрипт их заталкивает в таблицы, ipfw жуёт таблицы (одно правило на несколько сотен IP). Если надо - к понедельнику скину в один файл и скрипт и правила ipfw, повешу линк.

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

9. "DUMMYNET и тормоза"  
Сообщение от lexleo email(??) on 05-Апр-06, 19:00 
Извиняюсь, запахался.

Пример файла с IP-шками приводить нет смысла - просто по IP-шке на сторчку.
Пример скрипта на перле, заталкивающего IP-шки в таблицы:

#!/usr/bin/perl
local $ipfw="/sbin/ipfw -q";
system ("$ipfw table 0 flush");
open(ONE, "</usr/tables/list1.txt");
while(<ONE>){
        chomp $_;
        if (!/^#/) {
        system ("$ipfw table 0 add $_\n");
        }
}
close(ONE);
system ("$ipfw table 1 flush");
open(LV, "</usr/tables/lvonlylist.txt");
while(<TWO>){
        chomp $_;
        if (!/^#/) {
        system ("$ipfw table 1 add $_\n");
        }
}
close(TWO);
... итд, сколько таблиц надо. Скритп также отслеживает строки комментов, начинающиеся с #
и на них не реагирует.

Пример куска rc.firewall

if1="em0"
if2="em1"
...
${fwcmd} add 20000 pipe 10 ip from any to  table\(1\) in via ${if1}
${fwcmd} add 20010 pipe 20 ip from  table\(1\) to any in via ${if2}
...
${fwcmd} pipe 10 config mask dst-ip 0x000000ff bw 128Kbit/s
${fwcmd} pipe 20 config mask src-ip 0x000000ff bw 128Kbit/s

Можешь разобраться с пропусканием пакетов через интерфейсы по-своему,
поскольку у тебя роутер шейпит, но если будешь делать "нарезающий" бридж, то лучше так,
поскольку бридж обрабатывает только конструкции типа in via ${if1} и абсолютно забивает на  out via ${if1}

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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