Por que estou obtendo apenas 1gbps entre o Solaris e o VMware?

3

Eu tenho um host VMWare ESXi 5.1.0 (build 1065491) executando uma VM Solaris (OpenIndiana) como convidado. Eu criei um vSwitch privado para tráfego NFS entre o ESXi e o Solaris. A VM do Solaris tem as ferramentas do VMware instaladas e possui um adaptador VMXnet3 ( vmxnet3s0 ) no vSwitch particular.

A leitura de um arquivo diretamente na VM do Solaris usando dd obtém velocidades de até 4,5 GB / s (44,8 gigabit / s) ao ler um arquivo (se ele foi armazenado em cache pelo meu ARC / L2ARC)

Lendo o mesmo arquivo pelo NFS do VMware, só posso obter um máximo de 0,163 GB / s (1,131 gigabit / s)

Por que existe essa diferença? Eu espero alguma sobrecarga devido ao TCP e NFS, bem como a rede virtual, mas essa diferença não é o que eu chamaria de sobrecarga , parece que algo está errado.

A CPU na VM do Solaris nunca é mais de 20% usada. As médias de carga são baixas. Abundância de RAM livre no host (não está trocando) e a utilização da CPU no host está bem abaixo de 50% (normalmente em torno de 33%). Na VM convidada, dladm show-linkprop vmxnet3s0 mostra que a velocidade é 10000 (10 Gbit / s) e a MTU é 9000 (Jumbo Frames ativado)

Como teste, tentei usar um vmnic "standard" E1000 ( e1000g0 ) e consegui habilitar quadros jumbo (9000 MTU), mas ler o mesmo arquivo no NFS do VMware, só posso obter um máximo de 0.124 GB / seg (0,992 gigabit / seg) que faz sentido, pois a velocidade do link no E1000 é de apenas 1000 megabits.

Por que estou vendo apenas velocidades de transferência de apenas 1 gigabit / segundo entre o VMware ESXi 5.1 e a minha VM OpenIndiana Solaris?

ATUALIZAÇÃO: Depois de aplicar o ajuste de desempenho recomendado pelo VFrontDe em sua resposta, estou obtendo agora uns impressionantes 8-9 Gbit / seg entre o Solaris e uma VM Linux com um adaptador vmxnet3 . Estou recebendo ~ 6 Gbps lendo um arquivo em cache via NFS no Linux:

root@iperf:/mnt/public/ISO# dd if=Test.cdr of=/dev/null bs=1024k
5884+1 records in
5884+1 records out
6170824704 bytes (6.2 GB) copied, 8.44985 s, 730 MB/s

No entanto, ao ler o mesmo arquivo no host VMware ESXi, obtenho uma péssima 1,91 Gbps:

/vmfs/volumes/3d77318f-82c7901a/ISO # time dd if=Windows\ 7\ Home\ Premium.cdr of=/dev/null bs=1024k
5884+1 records in
5884+1 records out
real    0m 27.85s
user    0m 17.32s
sys     0m 0.00s

6,2 GB em 27,85 segundos funcionam como 1,91 gbps .

O que faz com que o vmknic do VMware ESXi tenha um desempenho tão fraco quando vmxnet3 to vmxnet3 é muito melhor?

    
por Josh 09.09.2013 / 18:09

1 resposta

2

Parece que há alguns problemas e bugs no adaptador vmxnet3 para Solaris. Por favor, dê uma olhada neste post muito detalhado: link O autor conseguiu um rendimento muito melhor depois de alguns ajustes, mas é demais repetir todos os passos aqui.

    
por 12.09.2013 / 20:28