[FUG-BR] FreeBSD + Mikronoc 7500 como roteador

Marcelo Gondim gondim em bsdinfo.com.br
Sexta Outubro 4 12:12:46 BRT 2013


Em 04/10/13 11:27, Antonio Modesto Amaral Sousa escreveu:
>
>
> 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
>
>
>
No meu router está assim:

hw.em.rx_abs_int_delay: 66
hw.em.tx_abs_int_delay: 66
dev.em.0.rx_abs_int_delay: 66
dev.em.0.tx_abs_int_delay: 66
dev.em.0.interrupts.rx_abs_timer: 0
dev.em.0.interrupts.tx_abs_timer: 5
dev.em.1.rx_abs_int_delay: 66
dev.em.1.tx_abs_int_delay: 66
dev.em.1.interrupts.rx_abs_timer: 0
dev.em.1.interrupts.tx_abs_timer: 136454
dev.em.2.rx_abs_int_delay: 66
dev.em.2.tx_abs_int_delay: 66
dev.em.2.interrupts.rx_abs_timer: 0
dev.em.2.interrupts.tx_abs_timer: 127452
dev.em.3.rx_abs_int_delay: 66
dev.em.3.tx_abs_int_delay: 66
dev.em.3.interrupts.rx_abs_timer: 0
dev.em.3.interrupts.tx_abs_timer: 0
dev.em.4.rx_abs_int_delay: 66
dev.em.4.tx_abs_int_delay: 66
dev.em.4.interrupts.rx_abs_timer: 0
dev.em.4.interrupts.tx_abs_timer: 0
dev.em.5.rx_abs_int_delay: 66
dev.em.5.tx_abs_int_delay: 66
dev.em.5.interrupts.rx_abs_timer: 0
dev.em.5.interrupts.tx_abs_timer: 128281
dev.em.6.rx_abs_int_delay: 66
dev.em.6.tx_abs_int_delay: 66
dev.em.6.interrupts.rx_abs_timer: 0
dev.em.6.interrupts.tx_abs_timer: 3854
dev.em.7.rx_abs_int_delay: 66
dev.em.7.tx_abs_int_delay: 66
dev.em.7.interrupts.rx_abs_timer: 0
dev.em.7.interrupts.tx_abs_timer: 0

[]'s
Gondim


Mais detalhes sobre a lista de discussão freebsd