Jump to content
Калькуляторы

Управление b/w без разрыва сессии

Скажите, всемудрые, можно ли реализовать сабж (для решений типа смены тарифа "на ходу", "кнопочки турбо" и прочих глупостей) на базе freebsd/mpd/ng_car? dummynet не хочу использовать по причине ресурсоемкости последнего.

Share this post


Link to post
Share on other sites
dummynet не хочу использовать по причине ресурсоемкости последнего.
У dummynet есть два параметра со слишком консервативными значениями по умолчанию :)

net.inet.ip.dummynet.io_fast=1

net.inet.ip.dummynet.hash_size=1024

 

Ещё dummynet визуально кушает процессор на core2quad, если ядерные потоки раскиданы по разным парам ядер.

 

И то, и другое здесь обсуждалось до посинения.

 

Если же всё настроено нормально, то проблем нет:

# ipfw pipe list | wc -l
   12822

# ipfw show | wc -l
      49

# sysctl hw.model
hw.model: Intel(R) Core(TM)2 Duo CPU     E7300  @ 2.66GHz

# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    260742     0  148213628     259007     0  147333172     0
    260226     0  149160528     258427     0  147760873     0
    260483     0  148256933     257851     0  146357212     0
    259949     0  146583845     258305     0  145766687     0
    269862   586  157347536     266024     0  154867424     0

# top -aSHPb                
last pid: 55789;  load averages:  0.00,  0.00,  0.01  up 52+14:53:01    23:11:07
74 processes:  4 running, 52 sleeping, 18 waiting                               

Mem: 138M Active, 1456M Inact, 277M Wired, 78M Cache, 213M Buf, 24M Free
Swap: 2048M Total, 2048M Free                                           

  PID USERNAME PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   12 root     171 ki31     0K    16K RUN    0 897.5H 71.58% [idle: cpu0]
   11 root     171 ki31     0K    16K RUN    1 968.9H 65.43% [idle: cpu1]
   24 root     -68    -     0K    16K WAIT   1 207.4H 34.08% [irq257: bge1]
   23 root     -68    -     0K    16K WAIT   0 201.4H 29.79% [irq256: bge0]
   47 root      20    -     0K    16K syncer 1 109:36  0.15% [syncer]
   14 root     -32    -     0K    16K WAIT   0 673:29  0.05% [swi4: clock sio]

 

Таблица для шейпера строится через http://sources.homelink.ru/shaping/

Share this post


Link to post
Share on other sites

нат тоже присутствует на этой машине ?

сколько абонов в онлайне ?

можно взглянуть на sysctl параметры ?

Edited by Mechanic

Share this post


Link to post
Share on other sites
нат тоже присутствует на этой машине ?

сколько абонов в онлайне ?

можно взглянуть на sysctl параметры ?

Это Вы кого спрашиваете? :-\

Телепаты в отпуске.

Share this post


Link to post
Share on other sites

Во вложении скрипт делающий то, что вам нужно. У нас он висит демоном на каждом pppoe сервере, слушает свой порт. Умеет отдавать текущую скорость инета/локалки и, если нужно, их менять. Скорость на соответствие билинговой проверяется с радиуса при каждом аккаунтинге.

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

Мега кнопку "турбо" и остальные гадости подкрутить у нему тоже не проблема.

 

пс. в новом mpd CoA уже появился. но я его еще не трогал, и так все отлично работает.

ChangeSpeedServ.pl.txt

Edited by a_andry

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this