Questo documento spiega come eseguire test delle prestazioni di rete Tier_1 per VM creando due VM e trasmettendo il traffico avanti e indietro per osservare le prestazioni della rete. Per sfruttare questa funzionalità, devi creare una VM con sistemi operativi che supportano il NIC virtuale (gVNIC) di Google. Le prestazioni di rete Tier_1 per VM richiedono dimensioni VM più grandi, quindi verifica di avere una quota CPU sufficiente per creare le VM.
Prima di iniziare
- Assicurati di utilizzare un'immagine pubblica che supporti gVNIC oppure crea un'immagine personalizzata nel progetto.
- Verifica di aver creato regole firewall VPC per consentire il traffico in entrata sulla porta TCP:5001 o un'altra porta a tua scelta, in modo da consentire i test delle prestazioni di
iperf
. - Usa iPerf versione 2, non versione 3, per eseguire il benchmarking.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
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.
Per creare un'immagine, utilizza il 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
Sostituisci quanto segue:
- PROJECT_ID: il nome del progetto.
- IMAGE_NAME: il nome dell'immagine che vuoi creare.
- SOURCE_IMAGE_FAMILY: versione obbligatoria di un'immagine pubblica. Per questo test, utilizza
ubuntu-2004-lts
. - SOURCE_IMAGE_PROJECT: il nome del progetto che contiene l'immagine di origine. Per questo test, utilizza
ubuntu-os-cloud
.
Esempio
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
Crea una rete VPC in modalità automatica che utilizza l'impostazione MTU massima:
gcloud compute networks create NETWORK_NAME \ --project=PROJECT_ID \ --subnet-mode=AUTO --mtu=8896
Sostituisci quanto segue:
- PROJECT_ID: il nome del progetto.
- NETWORK_NAME: un nome per la rete.
Crea due istanze identiche:
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
Sostituisci quanto segue:
- VM_NAME_1, VM_NAME_2: i nomi delle istanze VM che vuoi creare.
- PROJECT_ID: il nome del tuo progetto.
- ZONE: la zona della VM. Entrambe le VM devono trovarsi nella stessa zona.
- PROJECT_NAME/global/images/IMAGE_NAME: nome del progetto e dell'immagine.
- NETWORK_NAME: il nome della rete configurata con l'impostazione MTU massima.
Nella finestra del terminale, esegui questo comando:
/sbin/ifconfig | grep mtu
L'MTU indicata dovrebbe essere 8896.
ens4: flags=4163 mtu 8896 lo: flags=73 mtu 65536
- VM_NAME_1: i nomi dell'istanza VM che vuoi visualizzare.
- VM_NAME_2: i nomi dell'istanza VM che vuoi visualizzare.
- PROJECT_ID: il nome del tuo progetto.
- ZONE: la zona della VM. Entrambe le VM devono trovarsi nella stessa zona.
Se non lo hai già fatto, completa i passaggi descritti in Configurare le VM per il benchmarking.
Quando entrambe le VM sono in esecuzione, utilizza SSH per connetterti a una delle VM.
gcloud compute ssh VM_NAME_1 \ --project=PROJECT_ID
Sostituisci quanto segue:
- VM_NAME_1: il nome della tua prima VM.
- PROJECT_ID: il nome del tuo progetto.
Sulla prima VM, completa i seguenti passaggi:
Installa
iperf
.sudo apt-get update && sudo apt-get install iperf
Ottieni l'indirizzo IP interno di questa VM. Prendi nota dell'indirizzo IP interno per utilizzarlo in seguito.
ip a
Avvia il server iPerf.
iperf -s
Questo avvia un server in ascolto delle connessioni per eseguire il benchmark. Lascia in esecuzione il server iPerf per tutta la durata del test.
In un terminale client separato, connettiti alla seconda VM tramite SSH.
gcloud compute ssh VM_NAME_2 \ --project=PROJECT_ID
Sostituisci quanto segue:
- VM_NAME_2: il nome della tua seconda VM.
- PROJECT_ID: il nome del tuo progetto.
Sulla seconda VM, completa i seguenti passaggi:
Installa iPerf.
sudo apt-get update && sudo apt-get install iperf
Esegui l'iperf test e specifica l'indirizzo IP della prima VM come destinazione.
iperf -t 30 -c internal_ip_of_instance_1 -P 16
In questo modo viene eseguito un test di 30 secondi. Se iPerf non riesce a raggiungere l'altra VM, potrebbe essere necessario modificare la rete o le impostazioni del firewall sulle VM o magari nella console Google Cloud.
I risultati dovrebbero essere simili all'esempio seguente. Mostra il limite di larghezza di banda in uscita di 75 Gbps per
n2-standard-64
con il networking di livello 1 abilitato, superando il limite predefinito di larghezza di banda in uscita di 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
Utilizza il comando
gcloud compute instances delete
per rimuovere le istanze create per i test di benchmark.gcloud compute instances delete \ VM_NAME_1 VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE
Sostituisci quanto segue:
- VM_NAME_1, VM_NAME_2: i nomi delle due istanze VM che vuoi eliminare.
- PROJECT_ID: il nome del tuo progetto.
- ZONE: la zona della VM. Entrambe le VM devono trovarsi nella stessa zona.
Utilizza il comando
gcloud compute networks delete
per rimuovere la rete creata per il test di benchmark.gcloud compute networks delete NETWORK_NAME \ --project=PROJECT_ID
Sostituisci quanto segue:
- NETWORK_NAME: il nome della rete che vuoi eliminare.
- PROJECT_ID: il nome del tuo progetto.
Utilizza il comando
gcloud compute images delete
per rimuovere l'immagine che hai creato per i test di benchmark.gcloud compute images delete IMAGE_NAME \ --project=PROJECT_ID
Sostituisci quanto segue:
- IMAGE_NAME: il nome dell'immagine che vuoi eliminare.
- PROJECT_ID: il nome del tuo progetto.
- Scopri di più sui prezzi di networking di Tier_1.
- Esamina i livelli di larghezza di banda per altri tipi di macchine.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Configurazione delle VM per il benchmarking
Crea due macchine vCPU
n2-standard-64
con prestazioni di rete per VM Tier_1 abilitate e l'impostazione di unità massima di trasmissione (MTU) più elevata. In questo modo le tue VM possono avere fino a 75 Gbps di larghezza di banda in uscita massima (utilizzando IP interni).gcloud
Esecuzione del benchmark
Le due VM devono trovarsi nella stessa zona e nella stessa rete VPC. Durante il benchmark, queste due VM eseguono test bidirezionale del percorso di rete VPC.
Verificare l'impostazione MTU
Verifica che per la rete Virtual Private Cloud (VPC) sia stata configurata l'impostazione MTU massima configurata utilizzando
ifconfig
nel sistema operativo guest di una delle VM.Verifica la configurazione della VM
Verifica che nelle macchine virtuali sia abilitato il networking Tier_1 esaminando le proprietà delle macchine virtuali.
gcloud
Per visualizzare le istanze, utilizza il 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)"
Sostituisci quanto segue:
Nella risposta dovresti vedere quanto segue:
networkPerformanceConfig.totalEgressBandwidthTier: TIER_1
Utilizzare iPerf per eseguire il benchmark su sistemi basati su Debian
gcloud
Rimuovi le risorse dopo il test di benchmark
Rimuovi le risorse create durante i test di benchmark per evitare addebiti per l'immagine e le VM aggiuntive.
gcloud
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-08-02 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -