[FUG-BR] FreeBSD + Mikronoc 7500 como roteador

Antonio Modesto Amaral Sousa modesto em isimples.com.br
Sexta Outubro 4 11:27:24 BRT 2013



On Fri 04 Oct 2013 09:06:14 AM BRT, Marcelo Gondim wrote:
> Em 04/10/13 08:52, Antonio Modesto Amaral Sousa escreveu:
>> On 10/03/2013 10:37 PM, Marcelo Gondim wrote:
>>> Em 03/10/13 16:32, Antonio Modesto Amaral Sousa escreveu:
>>>> Boa Tarde à todos,
>>>>
>>>> Estou fazendo alguns testes com um equipamento da Titan Wireless, modelo
>>>> Mikronoc 7500 com as seguintes especificações:
>>>>
>>>>
>>>> CPU: Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz (2926.06-MHz
>>>> K8-class CPU)
>>>>
>>>> real memory  = 2147483648 (2048 MB)
>>>> avail memory = 2016436224 (1923 MB)
>>>>
>>>> Possui 6 Interfaces dessa:
>>>> em0 em pci0:2:0:0:    class=0x020000 card=0x00008086 chip=0x10d38086
>>>> rev=0x00 hdr=0x00
>>>>          vendor     = 'Intel Corporation'
>>>>          device     = '82574L Gigabit Network Connection'
>>>>          class      = network
>>>>          subclass   = ethernet
>>>>
>>>> *Não tenho informações se o barramento de cada interface é compartilhado
>>>> ou não.
>>>>
>>>> Estou realizando os testes utilizando já o FreeBSD 9.2-STABLE. O
>>>> objetivo principal seria utilizar esse equipamento como roteador de
>>>> borda (Até 1Gb/s de tráfego), porém estou realizando alguns testes de
>>>> throughput nele e não estou tendo bons resultados, utilizando dois
>>>> testadores JDSU gerando tráfego full-duplex consigo aproximadamente
>>>> ~467Mb/s, com esse tráfego os testadores já reportam erros de
>>>> transmissão e a utilização da CPU chega a praticamente 100%, sendo que
>>>> mais de 50% somente para atender interrupções, estou realizando os
>>>> testes da seguinte forma:
>>>>
>>>> [testador01]------<em1>-[freebsd]-<em2>------[testador02]
>>>>
>>>>
>>>> Embora o equipamento tenha somente dois cores, tentei fixar os IRQ's de
>>>> TX e RX das portas em1 e em2 para cada core:
>>>>
>>>> irq259: em1:rx 0                 1426407        510
>>>> irq260: em1:tx 0                 1187053        424
>>>> irq261: em1:link                       5          0
>>>> irq262: em2:rx 0                 1187066        424
>>>> irq263: em2:tx 0                 1425760        510
>>>> irq264: em2:link                       1          0
>>>>
>>>>
>>>> root em router# cpuset -l 0 -x 259
>>>> root em router# cpuset -l 0 -x 260
>>>> root em router# cpuset -l 0 -x 261
>>>> root em router# cpuset -l 1 -x 262
>>>> root em router# cpuset -l 1 -x 263
>>>> root em router# cpuset -l 1 -x 264
>>>>
>>>>
>>>> Já tentei também habilitar o device polling, o consumo de CPU abaixou,
>>>> porém o throughput caiu muito também (~80Mb/s full-duplex).
>>>>
>>>>
>>>> Alguém tem alguma sugestão de algum ajuste que possa ser feito? Ou
>>>> realmente esse hardware não suportaria mais que isso?
>>>>
>>>> Desde já agradeço
>>>>
>>>>
>>> Opa Antônio,
>>>
>>> Core 2 Duo? Acho que vai ficar ruim isso aí. Eu tenho um router de borda
>>> Xeon Quad Core 3.2Ghz + 3 interfaces dessas aqui:
>>>
>>> Intel PRO/1000 PT Dual Port PCI-e
>>>
>>> Meu tráfego em pico desse router é de 1.5 à 1.6 Gbps com load entre 1.30
>>> e 1.50:
>>>
>>> last pid:  7715;  load averages:  1.32,  1.42, 1.42 up 1+07:14:03  22:34:42
>>> 25 processes:  1 running, 24 sleeping
>>> CPU 0:  0.0% user,  0.0% nice,  5.9% system,  0.0% interrupt, 94.1% idle
>>> CPU 1:  0.0% user,  0.0% nice, 47.8% system,  0.0% interrupt, 52.2% idle
>>> CPU 2:  0.0% user,  0.0% nice, 46.3% system,  0.0% interrupt, 53.7% idle
>>> CPU 3:  0.0% user,  0.0% nice, 44.7% system,  0.0% interrupt, 55.3% idle
>>> Mem: 291M Active, 153M Inact, 604M Wired, 800M Buf, 6584M Free
>>> Swap: 4096M Total, 4096M Free
>>>
>>> Faço um LACP com 2 portas Giga e em cima dela tenho minhas VLANs.
>>>
>>> Mas com Core 2 Duo não ia rolar nunca isso rsrsrsrs
>>>
>>> Outra coisa se está pensando em 1Gbps de tráfego já faz logo um lacp com
>>> 2 interfaces giga para ficar com +/- 2Gbps.  :)
>> Fala Gondim!! Beleza?
>>
>> Realmente o Core 2 Duo já está bem defasado, o problema é que esse é um
>> appliance de hardware embarcado com arquitetura amd64,
>> eu conseguiria trocar o processador, o problema é que o socket dele é o
>> LGA775 Antigo, o máximo que eu conseguiria colocar nele aqui seria
>> um Core 2 Quad Extreme ou algo do tipo, você acha que resolveria?
>>
> Bem, vai ficar melhor que o que está hoje. Você não consegue colocar
> alguma interface de rede dessa que te passei não, consegue?  Porque o
> que deve estar matando também é o uso excessivo de irq e já vi algumas
> interfaces de rede Intel fazer isso. Tenho uma aqui que usa driver igb e
> que nossa mãe, como usa IRQ. Já essa que te passei funcionou muito
> melhor para mim. Logicamente que nem vai se comparar à uma interface de
> 10Gbps Intel  :)

Gondim,

Consegui um resultado até razoável aqui, essas NIC's possuem o 
interrupt moderation da Intel e estavam com as seguintes váriaveis 
zeradas:

dev.em.X.rx_abs_int_delay: 0
dev.em.X.tx_abs_int_delay: 0

Isso faz com que a interface gere uma interrupção a cada pacote que ela 
recebe ou transmite, ajustei os delays otimizando para pacotes de 1500 
bytes e não tive resultados, depois descobri que o testador estava com 
o tamanho de pacote fixado em 128 bytes, ajustei para 1500 bytes e o 
tráfego subiu pra 960Mb/s sem perda de pacotes e com 70% de CPU idle. 
Vou fazer alguns testes para pacotes aleatórios e ajustar para um 
tamanho médio e ver no que dá. =)


>
> []'s
> Gondim
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

--



Atenciosamente,
Antonio Modesto Amaral Sousa
Gerente de rede
Praça Getúlio Vargas, 77 - Sala 308 - Centro
Santo Antônio do Monte/MG - 35.560-000
(37) 3281-2800 (ramal: 110) / 0800-300-2800 / *37.9814-8465*
*modesto em isimples.com.br* / faleconosco em isimples.com.br
http://www.isimples.com.br




Mais detalhes sobre a lista de discussão freebsd