Este documento explica como testar o desempenho de rede por VM Tier_1 criando duas VMs e transmitindo tráfego para observar o desempenho da rede. Para aproveitar esse recurso, você deve criar sua VM com sistemas operacionais compatíveis com Google Virtual NIC (gVNIC) . O desempenho da rede por VM Tier_1 requer tamanhos de VM maiores, portanto, confirme se você tem cota de CPU suficiente para criar as VMs.
Antes de começar
- Certifique-se de estar usando uma imagem pública compatível com gVNIC ou crie uma imagem personalizada em seu projeto.
- Verifique se você criou regras de firewall VPC para permitir a entrada na porta TCP:5001 ou em outra porta de sua escolha para permitir testes de desempenho
iperf
. - Use o iPerf versão 2, não a versão 3, para realizar o benchmarking.
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- 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 o seguinte:
- PROJECT_ID : o nome do seu projeto.
- IMAGE_NAME : o nome da imagem que você deseja 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 máxima de MTU:
gcloud compute networks create NETWORK_NAME \ --project=PROJECT_ID \ --subnet-mode=AUTO --mtu=8896
Substitua o seguinte:
- PROJECT_ID : o nome do seu 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 o seguinte:
- VM_NAME_1 , VM_NAME_2 : os nomes das instâncias de VM que você deseja criar.
- PROJECT_ID : nome do seu projeto.
- ZONE : a zona da sua VM. Ambas as VMs devem residir na mesma zona.
- PROJECT_NAME /global/images/ IMAGE_NAME : o nome do seu projeto e o nome da imagem.
- NETWORK_NAME : o nome da rede que você configurou com a configuração máxima de MTU.
Na janela do terminal, execute o seguinte comando:
/sbin/ifconfig | grep mtu
O MTU relatado deve ser 8.896.
ens4: flags=4163 mtu 8896 lo: flags=73 mtu 65536
- VM_NAME_1 : os nomes da instância de VM que você deseja visualizar.
- VM_NAME_2 : os nomes da instância de VM que você deseja visualizar.
- PROJECT_ID : nome do seu projeto.
- ZONE : a zona da sua VM. Ambas as VMs devem residir na mesma zona.
Se ainda não tiver feito isso, conclua as etapas em Configurando VMs para benchmarking .
Depois que ambas as VMs estiverem em execução, use SSH para conectar-se a uma das VMs.
gcloud compute ssh VM_NAME_1 \ --project=PROJECT_ID
Substitua o seguinte:
- VM_NAME_1 : o nome da sua primeira VM.
- PROJECT_ID : nome do seu projeto.
Na primeira VM, conclua as seguintes etapas:
Instale
iperf
.sudo apt-get update && sudo apt-get install iperf
Obtenha o endereço IP interno desta VM. Anote o endereço IP interno para uso posterior.
ip a
Inicie o servidor iPerf.
iperf -s
Isso inicia um servidor que escuta conexões para realizar o benchmark. Deixe o servidor iPerf em execução durante o teste.
Em um terminal cliente separado, conecte-se à segunda VM usando SSH.
gcloud compute ssh VM_NAME_2 \ --project=PROJECT_ID
Substitua o seguinte:
- VM_NAME_2 : o nome da sua segunda VM.
- PROJECT_ID : nome do seu projeto.
Na segunda VM, conclua as seguintes etapas:
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
Isso executa um teste de 30 segundos. Se o iPerf não conseguir acessar a outra VM, talvez seja necessário ajustar as configurações de rede ou firewall nas VMs ou talvez no console do Google Cloud.
Seus resultados devem ser parecidos com o exemplo a seguir. Ele mostra o limite de largura de banda de saída de 75 Gbps para
n2-standard-64
com rede Tier_1 habilitada, excedendo o limite de largura de banda de saída padrão 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 que você criou para testes de benchmark.gcloud compute instances delete \ VM_NAME_1 VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE
Substitua o seguinte:
- VM_NAME_1 , VM_NAME_2 : os nomes das duas instâncias de VM que você deseja excluir.
- PROJECT_ID : nome do seu projeto.
- ZONE : a zona da sua VM. Ambas as VMs devem estar na mesma zona.
Use o comando
gcloud compute networks delete
para remover a rede que você criou para testes de benchmark.gcloud compute networks delete NETWORK_NAME \ --project=PROJECT_ID
Substitua o seguinte:
- NETWORK_NAME : o nome da rede que você deseja excluir.
- PROJECT_ID : nome do seu projeto.
Use o comando
gcloud compute images delete
para remover a imagem que você criou para testes de benchmark.gcloud compute images delete IMAGE_NAME \ --project=PROJECT_ID
Substitua o seguinte:
- IMAGE_NAME : o nome da imagem que você deseja excluir.
- PROJECT_ID : nome do seu projeto.
- Saiba mais sobre os preços de rede Tier_1 .
- Revise os níveis de largura de banda para tipos de máquinas adicionais.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Configurando VMs para benchmarking
Crie duas máquinas vCPU
n2-standard-64
com desempenho de rede por VM Tier_1 habilitado e a configuração de unidade de transmissão máxima (MTU) mais alta. Isso dá às suas VMs até 75 Gbps de largura de banda máxima de saída (usando IPs internos).gcloud
Executando o benchmark
Suas duas VMs devem residir na mesma zona e na mesma rede VPC . Durante o benchmark, essas duas VMs realizam testes bidirecionais do caminho da rede VPC.
Verifique a configuração de MTU
Confirme se a rede Virtual Private Cloud (VPC) tem a configuração máxima de MTU configurada usando
ifconfig
no sistema operacional convidado de uma das VMs.Verifique a configuração da VM
Confirme se as máquinas virtuais têm a rede Tier_1 habilitada examinando as propriedades da máquina virtual.
gcloud
Para visualizar as instâncias, use o comando gcloud computing instances description .
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 o seguinte:
Na resposta você deverá ver o seguinte:
networkPerformanceConfig.totalEgressBandwidthTier: TIER_1
Use iPerf para realizar benchmark em sistemas baseados em Debian
gcloud
Remover recursos após testes de benchmark
Remova os recursos que você criou durante o teste de benchmark para evitar cobranças pela imagem e VMs adicionais.
gcloud
O que vem 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 2025-04-21 UTC.
-