Neste documento, explicamos como testar o desempenho da rede Tier_1 por VM criando duas VMs e fazendo o streaming do tráfego para frente e para trás para observar o desempenho da rede. Para aproveitar esse recurso, crie sua VM com sistemas operacionais compatíveis com a NIC virtual do Google (gVNIC). O desempenho de rede por VM de Tier_1 requer tamanhos de VM maiores. Portanto, confirme se você tem uma cota de CPU suficiente para criar as VMs.
Antes de começar
- Verifique se você está usando uma imagem pública compatível com gVNIC ou crie uma imagem personalizada no projeto.
- Verifique se você criou regras de firewall de VPC para permitir a entrada na porta TCP:5001 ou outra de sua escolha para permitir o teste de desempenho
iperf
. - Use o iPerf versão 2, não a versão 3, para realizar a comparação.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Para criar uma imagem, use o comando gcloud compute images create.
gcloud compute images create IMAGE_NAME \ --project=PROJECT_ID \ --source-image-family=SOURCE_IMAGE_FAMILY \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNIC
Substitua:
- PROJECT_ID: o nome do projeto.
- IMAGE_NAME: o nome da imagem que você quer criar.
- SOURCE_IMAGE_FAMILY: versão obrigatória de uma
imagem pública. Para este teste, use
ubuntu-2004-lts
. - SOURCE_IMAGE_PROJECT: o nome do projeto
que contém a imagem de origem. Para este teste, use
ubuntu-os-cloud
.
Exemplo
gcloud compute images create benchmark-image-test \ --project=my-project \ --source-image-family=ubuntu-2004-lts \ --source-image-project=ubuntu-os-cloud \ --guest-os-features=GVNIC
Crie uma rede VPC de modo automático que use a configuração de MTU máxima:
gcloud compute networks create NETWORK_NAME \ --project=PROJECT_ID \ --subnet-mode=AUTO --mtu=8896
Substitua:
- PROJECT_ID: o nome do projeto.
- NETWORK_NAME: um nome para a rede.
Crie duas instâncias idênticas:
gcloud compute instances create \ VM_NAME_1 VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=n2-standard-64 \ --image=projects/PROJECT_NAME/global/images/IMAGE_NAME \ --network=NETWORK_NAME \ --network-interface=nic-type=GVNIC \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1
Substitua:
- VM_NAME_1 e VM_NAME_2: os nomes das instâncias de VM que você quer criar.
- PROJECT_ID: o nome do projeto.
- ZONE: a zona da VM. As VMs precisam residir na mesma zona.
- PROJECT_NAME/global/images/IMAGE_NAME: nome do projeto e da imagem.
- NETWORK_NAME: o nome da rede que você definiu com a configuração máxima de MTU.
Na janela do terminal, execute o seguinte comando:
/sbin/ifconfig | grep mtu
A MTU informada precisa ser 8896.
ens4: flags=4163 mtu 8896 lo: flags=73 mtu 65536
- VM_NAME_1: os nomes das instâncias de VM que você quer visualizar.
- VM_NAME_2: os nomes das instâncias de VM que você quer visualizar.
- PROJECT_ID: o nome do projeto.
- ZONE: a zona da VM. As VMs precisam residir na mesma zona.
Se ainda não tiver feito isso, siga as etapas em Como configurar VMs para comparação.
Quando as duas VMs estiverem em execução, use o SSH para se conectar a uma das VMs.
gcloud compute ssh VM_NAME_1 \ --project=PROJECT_ID
Substitua:
- VM_NAME_1: o nome da primeira VM.
- PROJECT_ID: o nome do projeto.
Na primeira VM, conclua as etapas a seguir:
Instale
iperf
.sudo apt-get update && sudo apt-get install iperf
Consiga o endereço IP interno dessa VM. Anote o endereço IP interno para uso posterior.
ip a
Inicie o servidor iPerf.
iperf -s
Isso inicia um servidor que detecta conexões para realizar a comparação. Deixe o servidor iPerf em execução durante o teste.
Em um terminal de cliente separado, conecte-se à segunda VM usando SSH.
gcloud compute ssh VM_NAME_2 \ --project=PROJECT_ID
Substitua:
- VM_NAME_2: o nome da segunda VM.
- PROJECT_ID: o nome do projeto.
Na segunda VM, conclua as etapas a seguir:
Instale o iPerf.
sudo apt-get update && sudo apt-get install iperf
Execute o teste iperf e especifique o endereço IP da primeira VM como destino.
iperf -t 30 -c internal_ip_of_instance_1 -P 16
Esse processo executa um teste de 30 segundos. Se o iPerf não conseguir acessar a outra VM, talvez seja necessário ajustar a rede ou as configurações de firewall nas VMs ou talvez no console do Google Cloud.
Os resultados terão a aparência do exemplo a seguir: Ele mostra o limite de largura de banda de saída de 75 Gbps para
n2-standard-64
com a rede Nível_1 ativada, excedendo o limite padrão de largura de banda de saída de 32 Gbps.------------------------------------------------------------ Client connecting to 10.128.0.10, TCP port 5001 TCP window size: 1.59 MByte (default) ------------------------------------------------------------ [ 12] local 10.128.0.11 port 57722 connected with 10.128.0.10 port 5001 [ 11] local 10.128.0.11 port 57720 connected with 10.128.0.10 port 5001 [ 16] local 10.128.0.11 port 57730 connected with 10.128.0.10 port 5001 [ 6] local 10.128.0.11 port 57710 connected with 10.128.0.10 port 5001 [ 13] local 10.128.0.11 port 57724 connected with 10.128.0.10 port 5001 [ 8] local 10.128.0.11 port 57712 connected with 10.128.0.10 port 5001 [ 9] local 10.128.0.11 port 57716 connected with 10.128.0.10 port 5001 [ 14] local 10.128.0.11 port 57726 connected with 10.128.0.10 port 5001 [ 15] local 10.128.0.11 port 57728 connected with 10.128.0.10 port 5001 [ 10] local 10.128.0.11 port 57718 connected with 10.128.0.10 port 5001 [ 4] local 10.128.0.11 port 57706 connected with 10.128.0.10 port 5001 [ 5] local 10.128.0.11 port 57708 connected with 10.128.0.10 port 5001 [ 3] local 10.128.0.11 port 57704 connected with 10.128.0.10 port 5001 [ 17] local 10.128.0.11 port 57732 connected with 10.128.0.10 port 5001 [ 7] local 10.128.0.11 port 57714 connected with 10.128.0.10 port 5001 [ 18] local 10.128.0.11 port 57734 connected with 10.128.0.10 port 5001 [ ID] Interval Transfer Bandwidth [ 12] 0.0-30.0 sec 7.63 GBytes 2.19 Gbits/sec [ 11] 0.0-30.0 sec 17.7 GBytes 5.07 Gbits/sec [ 16] 0.0-30.0 sec 9.15 GBytes 2.62 Gbits/sec [ 6] 0.0-30.0 sec 43.8 GBytes 12.6 Gbits/sec [ 13] 0.0-30.0 sec 23.6 GBytes 6.76 Gbits/sec [ 8] 0.0-30.0 sec 13.3 GBytes 3.80 Gbits/sec [ 9] 0.0-30.0 sec 9.29 GBytes 2.66 Gbits/sec [ 14] 0.0-30.0 sec 19.6 GBytes 5.62 Gbits/sec [ 15] 0.0-30.0 sec 12.5 GBytes 3.58 Gbits/sec [ 10] 0.0-30.0 sec 11.1 GBytes 3.19 Gbits/sec [ 4] 0.0-30.0 sec 19.0 GBytes 5.43 Gbits/sec [ 5] 0.0-30.0 sec 7.32 GBytes 2.10 Gbits/sec [ 3] 0.0-30.0 sec 8.78 GBytes 2.51 Gbits/sec [ 17] 0.0-30.0 sec 17.5 GBytes 5.02 Gbits/sec [ 7] 0.0-30.0 sec 33.4 GBytes 9.57 Gbits/sec [ 18] 0.0-30.0 sec 7.64 GBytes 2.19 Gbits/sec [SUM] 0.0-30.0 sec 261 GBytes 74.9 Gbits/sec
Use o comando
gcloud compute instances delete
para remover as instâncias criadas para testes de comparação.gcloud compute instances delete \ VM_NAME_1 VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE
Substitua:
- VM_NAME_1, VM_NAME_2: os nomes das duas instâncias de VM que você quer excluir.
- PROJECT_ID: o nome do projeto.
- ZONE: a zona da VM. As duas VMs precisam estar na mesma zona.
Use o comando
gcloud compute networks delete
para remover a rede criada para testes de comparação.gcloud compute networks delete NETWORK_NAME \ --project=PROJECT_ID
Substitua:
- NETWORK_NAME: o nome da rede que você quer excluir.
- PROJECT_ID: o nome do projeto.
Use o comando
gcloud compute images delete
para remover a imagem criada para testes de comparação.gcloud compute images delete IMAGE_NAME \ --project=PROJECT_ID
Substitua:
- IMAGE_NAME: o nome da imagem que você quer excluir.
- PROJECT_ID: o nome do projeto.
- Saiba mais sobre os preços de rede de Tier_1.
- Analise os níveis de largura de banda para outros tipos de máquina.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Como configurar VMs para comparações
Crie duas máquinas vCPU
n2-standard-64
com o desempenho de rede por VM de Tier_1 ativado e a configuração mais alta da unidade máxima de transmissão (MTU, na sigla em inglês). Isso dá às VMs até 75 Gbps de largura de banda de saída máxima (usando IPs internos).gcloud
Como executar a comparação
Suas duas VMs precisam estar na mesma zona e na mesma rede VPC. Durante a comparação, essas duas VMs realizam testes bidirecionais do caminho da rede VPC.
Verificar a configuração de MTU
Confirme se a rede da nuvem privada virtual (VPC) tem a configuração máxima de MTU definida usando
ifconfig
no SO convidado de uma das VMs.Verificar a configuração da VM
Para confirmar se as redes virtuais têm a rede Tier_1 ativada, examine as propriedades da máquina virtual.
gcloud
Para ver as instâncias, use o comando gcloud compute instances describe.
gcloud compute instances describe VM_NAME_1 \ --project=PROJECT_ID \ --zone=ZONE \ --format="text(networkPerformanceConfig)"
gcloud compute instances describe VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE \ --format="text(networkPerformanceConfig)"
Substitua:
Na resposta, você verá o seguinte:
networkPerformanceConfig.totalEgressBandwidthTier: TIER_1
Use o iPerf para realizar a comparação em sistemas baseados em Debian
gcloud
Remover recursos após o teste de comparativo de mercado
Remova os recursos que você criou durante o teste de comparativo de mercado para evitar cobranças pela imagem e por VMs adicionais.
gcloud
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-