Visite: BR-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org

Ver Feed RSS

m4d3

Otimizando banda disponível com MikroTik e técnica de Burst/Threshold por: M4D3

Avaliação: 4 votos, 5,00 média.
Neste artigo vou abordar como pode ser feita a otimização da banda do provedor de acesso ou até mesmo de redes de médio porte utilizando do MikroTik e uma das técnicas que acho bastante interessantes que é o Burst/Threshold.

No exemplo que segue utilizaremos valores simétricos para UP/DOWN a fim de facilitar a compreensão.

BL = Burst Limit (300k) - Limite de velocidade máximo usando o recurso de Burst ou 'Rajada'
BT = Burst Threshold (96k) - Limite que poderá ser consumido para ter direito a novo BL (300k)
TB = Burst Time (8s) - Tempo sobre o qual são calculados os limites de velocidade
ML = Max Limit (120k) - É a máxima taxa de transferência após atingido o limite que será caculado com base no tempo TB podendo atingir a velocidade máxima BL.

Na prática:

O burst é calculado sobre os ultimos X segundos definidos no TB, ou seja, a média no nosso exemplo dos últimos 8s de consumo, logo:

Exemplo 1:
1s 2s 3s 4s 5s 6s 7s 8s
300k + 300k + 300k + 300k + 300k + 300k + 300k + 300k = 2400k/8s=300k - Sendo assim o limite e a velocidade irá decair até o ML de 120k nos próximos segundos, permanecendo nesta velocidade constante enquanto o consumo estiver acima do valor definido em BT.

Exemplo 2:

Caso o consumo caia por 1s a zero fariamos o calculo:
9s 10s 11s 12s 13s 14s 15s 16s
120k + 120k + 120k + 120k + 0k + 120k + 120k + 120k = 960k/8s=105k
Com este novo valor (105k) para BT o usuário não tem direito a nova rajada com BL, na sequencia novamente o consumo cai para valores intermediarios nos dois próximos segundos do acesso como no exemplo que segue:

Exemplo 3:
11s 12s 13s 14s 15s 16s 17s 18s
120k + 120k + 0k + 120k + 120k + 120k + 57k + 35k = 692k/8s=86,5k
Como o novo valor de BT (86,5k) o cliente terá direito a novo BL por 'n' segundos enquanto o BT não ultrapasse o valor que estipulamos na configuração do profile (96k).

Exemplo 4:
12s 13s 14s 15s 16s 17s 18s 19s
120k + 0k + 120k + 120k + 120k + 57k + 35k + 300k = 872/8s = 109k e neste caso como o novo valor da média dos 8s ficou acima do valor de BT o usuário já no próximo segundo passa a não ter direito a velocidade do BL voltando para o valor de controle estipulado em ML (120k).

É assim que funciona o Burst/Threshold da maneira que eu consegui comprovar e diferente do que já li em diversos posts, obviamente que a subida e descida das velocidades leva um certo tempo e isso deve ser levado em consideração.

Estou postando um programa facilitador onde você pode calcular o tempo com base no tamanho do arquivo 'trafego' antes de aplicar o ML no cliente.

Não é algo exato mas permite uma melhora considerável na navegação de todos os usuários, tendo em vista que usuários utilizando P2P ou downloads intermináveis acabam por consumir toda a banda disponível sem o uso desta técnica ou outra forma avançada de controle.

Poderia se dizer em controle de P2P utilizando portas, Layer7 ou alguma outra técnica, porém estes métodos além de ineficazes são incapazes de marcar todas as ações provenientes de P2P o que com o uso do Bust/Threshold é feito sem muito esforço.

Na minha opinião o provedor que vende um plano de 800k e garante banda de 20% e portanto 160k tem toda liberdade de utilizar uma técnica de controle seja ela qual for para melhorar a experiência de 98% dos usuários, claro que sempre haverá 2% insatisfeitos quanto utilizado qualquer tipo de limite e exigem ter 100% da banda disponível para P2P o dia todo mas isso é outra história.

http://img130.imageshack.us/img130/4070/conplanex.png

No exemplo acima veja como ficariam os valores para o plano de 300k de download por 128k de upload e garantias de 40% e 70% respectivamente como sugerido na configuração:

ML - 120k/96k
BL - 300k/128k
BT - 96k/62k
TB - 166s/192s
PRIO - 8

Link para download:
MEGAUPLOAD - The leading online storage and file delivery service

Instruções de uso:
Em Link Upload/Download digite as taxas suportadas pelo seu link para saber quantos clientes irá suportar na taxa máxima de download/upload.

Em SizeF digite o tamanho em MB (somente inteiros) do trafego antes de aplicar o ML.
Em Speed Upload/Download digite a velocidade do BL para o plano que será criado, digite em prio a prioridade, em EcoLk digite o % de queda após o TB e em ThreS o % sobre o EcoLk onde será liberado novo BT.

Observação:
96k/120k 128k/300k 62k/96k 192/166 8 xxk/xxk
O valor que vem depois da prioridade (8) na string acima (xxk/xxk) é o 'minimum-rate' uma especie de garantia oferecida pelo profile, no entanto para oferecer alguma garantia deve-se primeiro obter esta mesma garantia, dito isso cada um sabe bem o que é uma adsl e o que é um link dedicado em termos de garantias.

Abraço a todos e espero que sirva ao propósito.

Comentários

Página 1 de 2 12 ÚltimoÚltimo
  1. Avatar de andrelch
    Muito obrigado por compartilhar mais este tópico
  2. Avatar de AndrioPJ
    Uma grave confusao que muitos usuarios fazem é pensar que o Cliente tera aquela banda Maxima somente por aquele periodo e depois ficara todo o restante do tempo na velocidade minima.
    Errado.

    o Burst é como uma montanha Russa.... sobe, desce, sobe, desce.
    Se mal calculado, o Cliente ficara mais tempo na Velocidade maxima, do que na Velocidade minima.

    Basicamente, para efetuar os calculos, podemos fazer o seguinte:

    Banda contratada pelo cliente= 300k (Max Limit)
    Porem, quero que o cliente tenha 600k (Burst Limit) durante 30s (Tempo do Burst Limit), e quero que fique 1 min (60s - Tempo de limitacao, sem o Burst Limit) na velocidade que ele contratou.... somando os tempos (30s + 60s) temos 90s (Burst Time)

    Nisso ja temos alguns Valores:
    Max Limit: 300k
    Burst Limit: 600k
    Burst Threshold: ???
    Burst Time: 90s

    A Formula para calcular o Burst Threshold é Facil:
    Burst Threshold = (Burst Limit * Tempo do Burst Limit) / Burst Time

    Entao, temos:

    Burst Threshold = (600k * 30s) / 90s
    Burst Threshold = 200k

    Resultado final:
    Max Limit: 300k
    Burst Limit: 600k
    Burst Threshold: 300k
    Burst Time: 90s


    ---------------------
    Porem, nao aconselho o Uso de Burst em Servidores Centralizado com MUITOS Usuarios.
    Existe um Bug.
    Cada vez que conecta um Cliente (adiciona uma nova Queue), Cada vez que desconecta um Cliente (retira a Queue)
    Ou simplesmente por ativar ou desativar uma Queue

    Toda a Tabela de controle de banda é reiniciado.
    E automaticamente e imediatamente, TODOS os clientes voltam a ter Velocidade Maxima.
    Atualizado 12-09-2011 em 15:51 por AndrioPJ
  3. Avatar de netxtreme
    Ativar ou desativar uma queue eu já tinha percebido, mais nunca me atentei no fato do cliente conectar e desconectar. Interessante, vou passar a levar isso em consideração.

    Obrigado ao M4D3 e mascaraapj pela ótima explanação sobre o burst.
  4. Avatar de peritinaicos
    Tenho 70usuário em um servidor PC-AP com mk 5.6 média de 25 simultâneos, planos de 600k e 1mb... É aconselhável fazer esse tipo de configuração com este número de clientes simultâneos?
  5. Avatar de AndrioPJ
    Citação Postado originalmente por peritinaicos
    Tenho 70usuário em um servidor PC-AP com mk 5.6 média de 25 simultâneos, planos de 600k e 1mb... É aconselhável fazer esse tipo de configuração com este número de clientes simultâneos?
    Vai depender da frequencia com que conecta e desconecta os usuarios.
    pois analisemos...

    se na configuracao, o cliente vai ficar durante 30s com banda maxima e 2 minutos com banda limitada...
    usuario comeca a baixar um arquivo e 30s depois a velocidade dele é limitada, apartir desse instante comeca a contagem (por exemplo) do tempo de limitacao
    1..2..3........ 60s
    apartir desse, o processo reinicia, cliente volta a ter velocidade maxima...


    Agora vamos supor que no meio do caminho, conecta ou desconecta um usuario (o que fara com a que a tabela de controle de banda reinicie):
    usuario comeca a baixar um arquivo e 30s depois a velocidade dele é limitada, apartir desse instante comeca a contagem (por exemplo) do tempo de limitacao
    1..2..3....UM OUTRO CLIENTE SE CONECTA
    nesse instante (antes mesmo dos 60s, antes de dar todo o tempo de limitacao), todos os clientes voltarao a ter a banda maxima.
  6. Avatar de netxtreme
    Nunca usei burst em minha rede, é ainda mais com as condições que o mascaraapj citou, ta ficando mais longe a possibilidade de usá-lo. A técnica é muito interessante, porém não sei se o custo-benefício seria tão interessante assim.
  7. Avatar de peritinaicos
    Pois é amigos acredito que isso não vai me agradar mesmo, deve ser bem legal usar isto em rede tipo lan-house ou escritório que dai podemos deixar as queues tudo fixa... vlw
  8. Avatar de p4ulo182
    Citação Postado originalmente por netxtreme
    Nunca usei burst em minha rede, é ainda mais com as condições que o mascaraapj citou, ta ficando mais longe a possibilidade de usá-lo. A técnica é muito interessante, porém não sei se o custo-benefício seria tão interessante assim.

    Uso bust aqui a 2 anos já ou mais! o resultado é sim significante e gratificante tanto pra vc quanto ao seu cliente, apenas uma opinião!

    abração!
  9. Avatar de m4d3
    Citação Postado originalmente por mascaraapj
    Uma grave confusao que muitos usuarios fazem é pensar que o Cliente tera aquela banda Maxima somente por aquele periodo e depois ficara todo o restante do tempo na velocidade minima.
    Errado.

    o Burst é como uma montanha Russa.... sobe, desce, sobe, desce.
    Se mal calculado, o Cliente ficara mais tempo na Velocidade maxima, do que na Velocidade minima.

    Basicamente, para efetuar os calculos, podemos fazer o seguinte:

    Banda contratada pelo cliente= 300k (Max Limit)
    Porem, quero que o cliente tenha 600k (Burst Limit) durante 30s (Tempo do Burst Limit), e quero que fique 1 min (60s - Tempo de limitacao, sem o Burst Limit) na velocidade que ele contratou.... somando os tempos (30s + 60s) temos 90s (Burst Time)

    Nisso ja temos alguns Valores:
    Max Limit: 300k
    Burst Limit: 600k
    Burst Threshold: ???
    Burst Time: 90s

    A Formula para calcular o Burst Threshold é Facil:
    Burst Threshold = (Burst Limit * Tempo do Burst Limit) / Burst Time

    Entao, temos:

    Burst Threshold = (600k * 30s) / 90s
    Burst Threshold = 200k

    Resultado final:
    Max Limit: 300k
    Burst Limit: 600k
    Burst Threshold: 300k
    Burst Time: 90s


    ---------------------
    Porem, nao aconselho o Uso de Burst em Servidores Centralizado com MUITOS Usuarios.
    Existe um Bug.
    Cada vez que conecta um Cliente (adiciona uma nova Queue), Cada vez que desconecta um Cliente (retira a Queue)
    Ou simplesmente por ativar ou desativar uma Queue

    Toda a Tabela de controle de banda é reiniciado.
    E automaticamente e imediatamente, TODOS os clientes voltam a ter Velocidade Maxima.
    mascaraapj,

    O tempo de atualização da sua tela do winbox não tem absolutamente nada haver com o controle de banda, pode remover e adicionar queues sem problema.

    O burst usado da forma correta contribui muito pra qualidade e geração de uma QoS no autenticador dos clientes.

    Se utilizado para furar o controle de banda do cliente como você citou no plano de 300k oferecer um burst de 600k, isso sim que é o mais comum e esta totalmente errado (e o pior é que os programas de controle fazem isso levando seus usuários fatalmente ao erro), se você anuncia 300k e envia 600k pro cliente mesmo que seja por 30s me descupe, mas o seu marketing ta invertido e precisa reaprender algumas técnicas, recomendo que comece pelo burst que vai te ajudar.

    O burst threshold é excelente não só para lanhouses mas também para provedores, para controles adicionais de p2p, trafego massivo, qos, voip e uma serie de outras funções, é tão interessante que na versão 5 do mikrotik já esta disponível em queue types pcq, parece que depois de 10 anos a MikroTik acordou para o que alguns de nós havia feito em termos de controle, eu mesmo desde 2007 venho divulgando a técnica dessa forma e vejo como um avanço tardio as novas funções do MikroTik 5.

    Usem da forma como esta no tópico e terão alguma economia de banda mas principalmente uma melhora significativa de todos os serviços.

    Abraço a todos.
  10. Avatar de AndrioPJ
    m4d3
    eu ja fiz todos os testes, te aconselho a fazer os mesmos testes...
    configure o burst para que o cliente tenha 30s de Velocidade Maxima e uns 2 Minutos na Velocidade Normal.
    Inicie um Download e acompanhe seu trafego pelo Torch.

    OK, durante todo o primeiro periodo (Velocidade Maxima, Velocidade normal), deixe correr normalmente, nao ative, nem desative nenhuma regra.... vera que o Cliente tera a velocidade durante o periodo configurado (30s na velocidade maxima e 2 min na velocidade normal).
    Logo que re-iniciar a contagem, aguarde... deixe o cliente ter a velocidade Maxima... assim que a velocidade dele diminuir para a normal... ative ou desative uma Queue e veja seu trafego.

    o Cliente nao vai ficar durante os 2 min na velocidade normal (conforme foi configurado), ao contrario, a velocidade dele ira imediatamente para a Velocidade maxima (nao importa quanto tempo tenha passado na velocidade normal... se foi 1 ou 10s)

    Faça os testes e depois poste aqui o resultado.
    ou se preferir eu posso realizar o teste e te mostrar um print do Grafico de todo o periodo do uso...
    Atualizado 17-09-2011 em 20:18 por AndrioPJ
  11. Avatar de peritinaicos
    Amigo mascaraapj, vc quer dizer no caso de uma nova queue apareça tipo um cliente que acaba de logar e etc... se for uma rede muito grande deve acontecer direto mais uma rede com 30 simultaneos acredito que não va acarretar tanto problema... acho que vou testar na minha, fica em media de 20 online
  12. Avatar de AndrioPJ
    A
    Citação Postado originalmente por peritinaicos
    Amigo mascaraapj, vc quer dizer no caso de uma nova queue apareça tipo um cliente que acaba de logar e etc... se for uma rede muito grande deve acontecer direto mais uma rede com 30 simultaneos acredito que não va acarretar tanto problema... acho que vou testar na minha, fica em media de 20 online
    Exatamente.
    Em rede pequena é uma boa utilizar o Burst, se bem configurado, melhor ainda...
    O uso do Burst é fantastico
    Mas em rede Grande, onde temos uma frequencia maior de conexao ou desconexao, ai fica dificil.
    pois os usuarios acabam ficando mais tempo com a Velocidade Maxima (Burst Limit) do que com a velocidade normal (Max Limit).
    Ai fica dificil ter uma estimativa de uso do Link Geral por parte dos usuarios.

    Quando um usuario conecta ou desconecta, quando é criado ou excluido uma queue, ativado ou desativado uma queue... Toda a tabela de Controle de Banda é renovada (e nao estou me refirindo somente a tela do winbox). Com a renovacao, a contagem do Burst volta do ZERO, e ele volta a ter a Velocidade Maxima.

    O Fato é que em qualquer controle de banda (mesmo em outros SO), realmente quando inserimos ou retiramos uma nova regra, temos que renovar a Tabela... reinciamos o Controle de Banda...
    No caso do Mikrotik Burst, isso o afeta.
    Creio que a unica maneira de contornar isso, a unica maneira de fazer funcionar 100%... seria armazenar essa contagem em uma tabela diferente (se é possivel, nao sei dizer!)
  13. Avatar de m4d3
    Não tem lógica sua afirmação mascara, você deve ter alguma regra influenciando já vi acontecer algumas vezes.

    Valeu a tentativa
  14. Avatar de AndrioPJ
    da uma olhada no topico: http://under-linux.org/f210/queues-d...otspot-149895/

    como 1 imagem vale mais que mil palavras
    da uma olhada no print teste que realizeihttp://under-linux.org/attachments/f...mica-burst.jpg
    Deixei correr um periodo normalmente (o cliente ficou com a banda maxima por um periodo e ficou outro periodo com a banda minima)
    quando o burst se renovou, esperei ocorrer a limitacao (onde a velocidade é reduzida), entao desativei e ativei uma OUTRA regra... veja que imediatamente o cliente voltou a ter a banda maxima.

    Esse ocorre quando:
    - conecta novo usuario (é criado uma nova regra)
    - desconecta um usuario (é excluido alguma regra)
    - é ativado ou desativado alguma regra.

    por algum motivo, a tabela de controle de banda é renovada e com ele o Burst tbm.
    o cliente volta imediatamente a ter banda maxima.

    PS: pode ter certeza que esse problema nao é por alguma outra regra.
    alias, meu firewall é minimo e nao possuo nenhuma regra de marcacao de pacote
  15. Avatar de m4d3
    Eu não consegui obter o mesmo resultado aqui, pra mim funcionou sempre bem, sera que estaria relacionado apenas com HOTSPOT, eu mesmo sempre dei preferencia e rodei os testes sobre PPPOE por considerar que HOTSPOT é indicado para eventos, locais públicos ou estabelecimentos comerciais como hoteis e similares.

    Com tempo vou revisar o material pra ver se consigo bugar a rede.
  16. Avatar de AndrioPJ
    nao, nao tem nada a ver com o Hotspot
    ate por que nao é o hotspot que faz o controle de banda, mas sim o Simple Queue.
  17. Avatar de NTurbo
    Fiquei com uma duvida, o TB = Burst Time é o tempo de duração do Brust ou o tempo de intervalo entre um brust e o outro? eu vi q o programa gera automaticamente o TB, é assim mesmo ?
  18. Avatar de m4d3
    Nem um nem outro, é o tempo no qual serão geradas as amostras de valores de onde serão calculadas as médias pra aplicar burst ou threshold.

    Veja nos exemplos temos uma linha do tempo em segundos.

    Abraço
  19. Avatar de 1929
    NTurbo, o TB ou tempo de burst, na verdade não tem nada a ver com o tempo que dura o burst.
    Mas estes valores são utilizados no algoritmo que o mikrotik usa para calcular o threshold ou seja o ponto onde ele corta o burst.
    Eu no ínício também me confundia com o busrt time pois achava que o burst durava o tempo que se colocava lá.

    Este programa que o Luciano postou é show. Vai fazendo testes com ele e observando os resultados até você chegar no desejado.
    Um parâmetro que achei interessante no programa é o sizeF. Este valor é em Mega.
    Não sei como é o cálculo interno do programa do Luciano, mas este valor interfere diretamente no tempo
    Ele garante um tráfego antes de aplicar o limite contratado. Tenho ainda alguns detalhes para entender na aplicação do programa, mas pelo que entendi este sim seria o valor alcançado para ativar novo ciclo de burst. É isso Luciano?

    Faz um teste aí com os valores: Foi uma combinação de valores que deixou os assinantes com um bom desempenho de navegação no meu caso. Consigo assim dar um pico de até 1 mega por algum tempo e retorna ao plano contratado. Como disse o Luciano, fica subindo e descendo e isso dá um sensação de velocidade para todo mundo.

    speed - 1000
    SizeF - 5
    EcoLk - 40
    ThreS - 30
    Você vai obter esta regra para o burst.

    400k/400k 1000k/1000k 120k/120k 40/40 8

    onde:
    banda contratada - 400kbps
    Burst - 1000kbps
    120k - é o ponto de corte utilizado pelo cálculo do mikrotik
    40 - é o tempo utilizado para o cálculo do mikrotik - Não é o tempo que dura o burst.
    8 - é a prioridade (mínima)
  20. Avatar de m4d3
    É isso, porem a tecnica é diferente do que a maioria ainda utiliza, na maior parte dos casos o burst é utilizado pra 'furar' o limite de banda do usuário (até o nome sugere isso). No caso deste blog é justamente o contrario, o valor limite do plano é o próprio burst e os demais valores são adicionais pra segurar os mais afobados consumidores de banda dessa forma promovendo um nível extra na QoS e difundindo o conceito de divisão justa da banda disponível com a formula 'quem usa menos tem maiores beneficios imediatos'.
Página 1 de 2 12 ÚltimoÚltimo

+ Enviar Comentário