[FUG-BR] RES: Network Performance no FreeBSD 8 (amd64)

Nilson nilson em forge.com.br
Terça Dezembro 29 06:14:12 BRST 2009


Olá a todos;

Sem dúvida é uma informação bastante preocupante
para todos nós que a versão 8.0 tenha essa queda
absurda de throughput em relação a versão anterior.
Mesmo sabendo que um servidor hipotetico que você
irá instalar nunca precisará usar os 400 Mbps mostrados
nos benchmarks, você acabará ficando com um pé atras
e mandando brasa no bom 7.2 que bate aqueles fantásticos
900 Mbps.

Essa foi a enésima vez que leio algo sobre esse "fato"
(primeira vez desde o RELEASE) e como o 8.0 se
tornou minha opção primária para novos servidores,
resolvi montar um pequeno ambiente de testes e tirar
essa dúvida a limpo por mim mesmo.

Compartilho então com vocês meus resultados, e a
metodologia empregada. Vamos lá:

O ambiente de testes é simplesmente duas máquinas
virtuais (vmware) rodando no meu desktop caseiro (reportado
como AMD Athlon(tm) 64 Processor 3500+ no dmesg),
estando ambas conectadas a rede virtual da vmware
linkadas em 1Gbps. Ambas as máquinas estão com a
instalação padrão e kern.hz em 100, tendo sido adicionados
apenas o open-vm-tools e o iperf compilados via ports
atualizado e sendo das mesmas versões em ambas as
máquinas:

open-vm-tools-167859_1 Open VMware tools for FreeBSD VMware guests
iperf-2.0.4         A tool to measure maximum TCP and UDP bandwidth

-----------------------------------------

Maquina 1 - FreeBSD 8.0
uname -a
FreeBSD bsd8 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17
UTC 2009     root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
 i386

ifconfig em0:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:0c:29:95:0d:7a
inet 10.0.0.150 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active

-----------------------------------------

Maquina 2: FreeBSD 7.2
uname -a:
FreeBSD bsd7 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May  1 08:49:13
UTC 2009     root at walker.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
i386

ifconfig em0:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:0c:29:2a:96:8f
inet 10.0.0.152 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active

-----------------------------------------

Aqui aparece a primeira curiosidade, em "media" existe uma
pequena diferença entre o que é exibido:
media: Ethernet autoselect (1000baseT <full-duplex>)
media: Ethernet autoselect (1000baseTX <full-duplex>)

Alguém tem uma explicação para esse fato? Prosseguindo...

O teste em si consiste em 5 (cinco) execuções consecutivas
do "iperf -c IP" usando puramente tcp, contra um "iperf -s"
sendo excluidos os 2 menores valores obtidos para evitar
aberrações advindas de outros processamentos da máquina
host que sejam alheios as máquinas virtuais do teste.

Os resultados:

8.0 -> 8.0 via lo0 (127.0.0.1)
1.73 1.72 1.72 Gbps

8.0 -> 8.0 via em0 LOCAL
1.75 1.73 1.71 Gbps

7.2 -> 7.2 via lo0 (127.0.0.1)
1.66 1.63 1.62 Gbps

7.2 -> 7.2 via em0 LOCAL
1.66 1.72 1.73 Gbps

8.0 -> 7.2 via em0 REDE
77.6 77.9 75.0 Mbps

7.2 -> 8.0 via em0 REDE
76.2 74.3 71.0 Mbps

Infelizmente meu ambiente não chegou nem próximo
aos altos valores mostrados mundo afora, assim não
tenho como afirmar que a queda não ocorra em
ambientes de alta performance, porém como podemos
observar, o que se conclui aqui é que o FreeBSD 8.0
supera com uma pequena margem (4%) a versão 7.2.

Sendo assim, em ambientes onde não serão usados
equipamentos de alta performance, e sim dispositivos
domésticos comuns como realtrekos e encores da vida, ou
quando ouver certeza que seu trafego a médio prazo não
será superior a 100 Mbps, o 8.0 parece ser a melhor
opção.

Por enquanto, é o que tenho. Procurarei uma oportunidade
de realizar novamente esse teste utilizando diretamente hardware
físico de alta performance para confirmar se o resultado se
repete nos patamares próximos ao 1 Gbps.

Comentários?

---
Nilson


Mais detalhes sobre a lista de discussão freebsd