Eu tenho uma placa Ethernet com duas portas 10G. Não consigo verificar o desempenho da porta e fazer um teste de estresse de placa para placa com sistemas diferentes. Gostaria de verificar o desempenho da porta e o teste de estresse conectando a porta A e a porta B no mesmo adaptador na placa única, atribuir o endereço IP de ambas as portas e usar o iPerf para verificá-lo.
Ouvi dizer que desta forma, por estar no mesmo SO, não haverá tráfego real gerado entre duas portas.
Foi-me sugerido criar uma VM no mesmo sistema para separar as duas portas, para que ela possa gerar tráfego real para verificar o desempenho e o teste de estresse, correto?
Se eu não conseguir conectar as duas portas para verificar o desempenho, que tal a topologia abaixo?
porta A -> switch -> porta B, onde o switch está configurado para encaminhar o pacote para a porta B.
Essa forma gera tráfego real?
Obrigado, Jacky
Não tenho uma boa maneira de testar isso neste momento, mas tentaria usar namespaces para isolar as interfaces e depois testá-las como faria com dois sistemas diferentes.
Então você pode pegar um shell em ambos os namespaces com
ip netns exec test1 bash
eip netns exec test2 bash
e executar seu teste conforme descrito.Excluir esses namespaces
ip netns del testX
trará suas interfaces de volta à configuração normal, mas para completar, você também pode movê-las de volta manualmente.Para mover as interfaces de volta para o namespace padrão, você pode usar
ip link set ethX netns 1
em cada um dos shells do namespace ouip -n testX link set ethY netns 1
no namespace padrão. Nestes comandos,1
refere-se ao PID de um processo no namespace que você deseja utilizar, neste caso oinit
processo, que serve como padrão para o sistema.