[GTER] RES: Quagga

Luiz Otavio O Souza luiz at visualconnect.com.br
Thu Apr 2 09:38:42 -03 2009


> A performance em FreeBSD é muito superior, até o momento que se coloca a
> primeira linha de firewall. Aí ela cai para 1/3. Por exemplo, consegue-se
> 700Kpps fácil, vai para 350 com erros no primeiro ipfw any any (mesmos
> resultados com ipfilter)

Pina se isso realmente acontece ai, você provavelmente encontrou um bug, não 
é normal tamanha diferença somente por conta do firewall. Qual a versão 
utilizada aqui ?

Esses valores em kpps esta sendo somado in + out ? Ou você esta contando 
apenas os pacotes no sentido do teste ?

> No Linux vai-se até 350, 400kpps, mas você consegue o mesmo com iptables
> (sempre usando polling, claro)
>
> Os melhores resultados são conseguidos com a família 4.x, sendo 4.08 o
> melhor de todos.

O problema é que o 4.x não escala... Repita seus testes com um snapshot do 
freebsd 8 com 16 ou 32 cores, faça o teste no mesmo hardware com o 4.x e 
depois nos diga se o 4.x continua levando a melhor.

Em um hardware simples ou com poucos ganhos no smp o 4.x leva vantagem, sem 
dúvida.

> O penalty do salvamento do contexto no nível de interrupção e código é 
> muito
> maior trocando de core para core (quase 4 vezes a quantidade de linhas de
> código).

A migração de processos de uma cpu para a outra é ruim e deve ser evitada, 
mas isso é tarefa do escalonador do SO, normalmente fixando na mão um ou 
outro processo não ajuda muito - em um sistema equilibrado. Assim como não 
ajuda se o escalonador migra o processo toda vez que alguma cpu tem o load 
average 0.1% mais baixo do que o da cpu atual... O proprio escalonador 
(quando bem feito) gera a afinidade.

O ideal seria dedicar uma cpu para o processo, coisa que não acontece no 
affinity, pois outro processos continuam rodando na cpu (e sujando seu 
cache).

A maior diferença para a versão 4.x não é o número de context switchs mas 
sim a quantidade de código que foi adicionada (e de funcionalidades), sem 
isso não teriamos o network stack virtualizado, wireless virtualizada, zfs, 
etc. O 4.x foi um marco no quesito performance, mas de lá pra cá muita água 
passou por debaixo da ponte...

[]'s
Luiz 




More information about the gter mailing list