Checkpoint
Create the firewall rule
/ 100
Miglioramento delle prestazioni di rete I
- GSP045
- Panoramica
- Obiettivi
- Configurazione e requisiti
- Caso d'uso 1: Numero dei core di Compute Engine e networking
- Attività 1: riproduzione del comportamento
- Attività 2: come migliorare i risultati
- Caso d'uso 2: Networking di Google Cloud con IP interni
- Attività 3: test nel tuo ambiente
- Attività 4: sei hai più tempo
- Complimenti!
GSP045
Panoramica
In questo laboratorio pratico potrai leggere alcuni scenari del mondo reale, ricreare gli ambienti e lavorare per migliorare le prestazioni di alcune reti problematiche.
Sarà divertente provare a confrontare le diverse istanze tra loro, proprio come nel caso d'uso per la risoluzione dei problemi, in modo da poter provare i risultati e familiarizzare con i passaggi utilizzati per migliorare le prestazioni dei propri sistemi.
Questo lab è stato adattato dai blog post di Colt McAnlis: Core Count and the Egress problem e Internal IP vs External IP. Colt pubblica blog sulle prestazioni della rete Google Cloud su Medium.
Obiettivi
- Come testare la connettività e le prestazioni della rete utilizzando strumenti open source
- Come ispezionare il traffico di rete utilizzando strumenti open source
- In che modo le dimensioni della macchina possono influire sulle prestazioni della rete
Prerequisiti
- Conoscenza di base dei servizi Google Cloud (meglio se ottenuta avendo seguito in precedenza i lab in Google Cloud Essentials)
- Conoscenza di base di TCP/IP e networking di Google Cloud (meglio se ottenuta avendo seguito i lab precedenti della Quest Networking in the Google Cloud).
- Conoscenza di base della riga di comando Unix/Linux
Configurazione e requisiti
Prima di fare clic sul pulsante Avvia lab
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Avvia lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.
Con questo lab pratico avrai la possibilità di completare le attività in prima persona, in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.
Per completare il lab, avrai bisogno di:
- Accesso a un browser internet standard (Chrome è il browser consigliato).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Come avviare il lab e accedere alla console Google Cloud
-
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Pulsante Apri console Google
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
Fai clic su Apri console Google. Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.
Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.
Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account. -
Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.
-
Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.
Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi. -
Fai clic nelle pagine successive:
- Accetta i termini e le condizioni.
- Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
- Non registrarti per le prove gratuite.
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
L'obiettivo di questo lab è mostrare le relazioni tra le dimensioni del core e la velocità effettiva, pertanto il lab include sei istanze già integrate, create quando hai avviato il lab.
- Nella console Cloud, vai a Menu di navigazione > Compute Engine > Istanze VM per visualizzare le tue istanze:
Test di connessione
Esegui un rapido test di connessione per assicurarti che tutto funzioni bene.
-
Accedi tramite SSH a
instance-1
facendo clic sul pulsante SSH accanto al relativo nome nella console. -
Nella nuova finestra della shell, esegui il ping di un'altra delle tue istanze ed esegui il comando seguente, sostituendo
<external ip address of instance-2>
con l'indirizzo IP esterno diinstance-2
:
Output di esempio:
- Esegui il ping di un'altra istanza. Sostituisci
<external ip address of instance-3>
con l'indirizzo IP esterno diinstance-3
ed eseguine ilping
:
Output di esempio:
Sembra tutto a posto, continua!
Esamina le regole firewall
Per questo lab sono state create anche delle regole firewall.
- Per vedere quali sono, vai a Menu di navigazione > Networking > Reti VPC > Firewall e fai clic sul firewall
iperftesting
.
La regola firewall iperftesting utilizza la seguente configurazione:
Campo | Valore | Commenti |
---|---|---|
Nome | iperftesting | Nome nuova regola |
Destinazioni | Tutte le istanze nella rete | |
Intervalli IP di origine | 0.0.0.0/0 | Apriremo il firewall per qualsiasi indirizzo IP da internet. |
Protocolli e porte | tcp:5001; udp:5001 | |
Direzione del traffico | In entrata | |
Azione in caso di corrispondenza | Consenti |
Ora è tutto pronto per iniziare a utilizzare il lab.
Caso d'uso 1: Numero dei core di Compute Engine e networking
In questo primo scenario vedrai come la dimensione delle macchine utilizzate influisce sulla velocità effettiva che puoi misurare.
Dobermanifesto è una rete di microblogging video esclusivamente per animali domestici. I video basati sugli animali possono essere caricati in tutto il mondo e inviati ovunque per essere visualizzati e sperimentati.
Durante il trasferimento dei dati da/verso i backend di Compute Engine, la larghezza di banda osservata non era così elevata come sperato:
Attività 1: riproduzione del comportamento
Per cercare di riprodurre questo comportamento, sono state create due istanze nella stessa zona e iperf
è stato eseguito tra di loro 100 volte.
Questa prestazione è ancora peggiore! Evidentemente c'è qualcosa che non andava nel test. Abbiamo bisogno di più informazioni e di una serie più approfondita di passaggi di riproduzione da parte dell'azienda.
Ora sarai tu a impostare lo scenario.
L'ambiente di Dobermanifesto
-
Torna all'elenco delle istanze VM nella console di Compute Engine.
-
Accedi tramite SSH a
instance-1
(1 vCPU 3,75 GB) ed esegui questo comando, configurando un "ricevitore"iperf
:
- Poi accedi tramite SSH a
instance-2
(1 vCPU 3,75 GB) e genera del trafficoiperf
che punti ainstance-1
:
Output di esempio:
- Torna a
instance-1
e inserisci Ctrl + C per chiudere il ricevitore.
Ambiente di test
-
Torna alla console di Compute Engine e apri un'altra finestra SSH in
instance-6
(1 vCPU e2-micro 0,6 GB). -
Esegui il comando seguente, configurandolo come "ricevitore":
Output di esempio:
- Nella finestra SSH di
instance-2
, testa la connessione ainstance-6
:
Output di esempio:
- Torna a
instance-6
e inserisci Ctrl + C per chiudere il ricevitore.
Che cosa è successo? Sembra che la larghezza di banda sia aumentata. Potrebbe essere successo anche nel tuo caso. Oppure potrebbe essere diminuita.
Nella sezione successiva vedrai come la larghezza di banda è limitata dal numero totale di core e che con un numero di core compreso in questo intervallo ridotto (numero di core pari a 1), la larghezza di banda non supererà mai i 2 Gbit/sec circa. Di conseguenza, la velocità della rete è bassa e la larghezza di banda è limitata, in modo simile a quanto accadeva a Dobermanifesto. Quando esegui il test con macchine da 4 CPU in un minuto, i risultati saranno migliori.
Il numero di core è correlato ai Gb/s
Perché i risultati non erano molto diversi? Nella documentazione per Compute Engine si afferma:
Il traffico in uscita o in partenza da una macchina virtuale è soggetto ai limiti massimi di velocità effettiva di rete in uscita. Questi limiti dipendono dal numero di vCPU di cui dispone un'istanza di macchina virtuale. Ciascun core è soggetto a un limite di 2 Gbit/secondo (Gbps) per offrire prestazioni di massimo livello. Ogni core aggiuntivo aumenta il limite di rete, fino a un massimo teorico di 16 Gbps per ogni macchina virtuale
Ciò significa che maggiore è il numero di CPU virtuali nella rete, maggiore sarà la velocità effettiva di rete che otterrai.
Per capire come si presenta in pratica, sono stati impostati gruppi di dimensioni di core diversi nella stessa zona e iperf è stato eseguito tra di loro 1000 volte.
Se aumenta il numero di core, aumenta anche la velocità effettiva media e massima. Anche con questo semplice test, puoi vedere il limite fisso di 16 Gbps sulle macchine con prestazioni più elevate.
Attività 2: come migliorare i risultati
La rete di Dobermanifesto utilizza macchine da 1 vCPU. L'aumento delle dimensioni del core probabilmente aiuterà Dobermanifesto a ottenere risultati migliori. È ora di testare questa teoria.
- Accedi tramite SSH a
instance-3
(4 vCPU 15 GB di memoria) ed esegui questo comando:
Output di esempio:
- Accedi tramite SSH a
instance-4
(4 vCPU 15 GB di memoria):
Output di esempio:
- Ora riprova con 4 thread:
- E con 8 thread:
- Torna a
instance-3
e inserisci Ctrl + C per chiudere il ricevitore.
In questi esperimenti, sia il server che il client erano 4 vCPU e la velocità era notevolmente aumentata. La velocità di trasferimento è stata aumentata di 6,64 GByte e la larghezza di banda di 5,71 Gbit/sec. Con più thread, le prestazioni sono riuscite a raggiungere il limite massimo per quel numero di core.
- Continua a testare con
instance-5
, che è una macchina da 4 vCPU con prestazioni più elevate, tipo di istanza "highcpu-4".
Questo tipo di istanza ha CPU più veloci, ma meno memoria. Quali differenze vedi, se ce ne sono? Con più thread?
Ora il team di Dobermanifesto deve decidere quale percorso intraprendere. Dopo aver eseguito la profilazione dell'utilizzo della CPU e aver dato un'occhiata alle informazioni sui prezzi, hanno deciso di utilizzare una macchina e2-standard-4, che ha consentito loro di aumentare di quasi 4 volte la velocità effettiva media, ma che è più economica delle macchine e2-standard-8.
Uno degli aspetti positivi del passaggio a una macchina più grande è che in realtà viene messa in funzione meno frequentemente. Si è scoperto che le macchine rimanevano attive per molto tempo, solo per trasferire dati. Con le nuove dimensioni della macchina, le istanze avevano tempi di inattività più lunghi, consentendo al bilanciatore del carico di ridurre il numero totale di istanze su base giornaliera. Di conseguenza, da un lato, pagheranno per una macchina di livello superiore, ma dall'altro utilizzeranno meno ore core su base mensile.
Se le tue prestazioni impattano direttamente sui profitti, ci sono molte sfumature di compromessi da considerare.
Caso d'uso 2: Networking di Google Cloud con IP interni
Nel prossimo esempio utilizzerai iperf
per testare la velocità effettiva. Imposterai una macchina come server, verso cui punterai altre macchine e confronterai i risultati.
Gecko Protocol, un'azienda B2B che offre un protocollo di rete personalizzato e leggero costruito per i giochi e altri sistemi grafici in tempo reale, stava riscontrando una velocità effettiva inferiore al previsto per le proprie macchine di backend, responsabili del trasferimento e della transcodifica di file grafici e video di grandi dimensioni.
Ecco i risultati del loro test iperf di base:
Duplicando il test, la configurazione della rete era identica, ma i risultati del test erano molto diversi:
1,95 GB/sec era molto più alto di quello che Gecko Protocol vedeva nei propri grafici. Allora cosa sta succedendo?
Ora ricrea questo scenario.
- Nella console, accedi tramite SSH a
instance-1
e imposta il ricevitore iperf:
Output di esempio:
- Accedi tramite SSH a
instance-2
e verifica la connessione dell'indirizzo IP esterno:
Output di esempio:
Dopo un'ulteriore discussione con Gecko Protocol, abbiamo capito che stavano utilizzando IP esterni per collegare le macchine e che il test aveva utilizzato IP interni. Quando si collegano le macchine di una rete con IP interni si ottiene una velocità effettiva più elevata.
- Ora controlla la connessione con l'indirizzo interno:
Output di esempio:
Guarda le due diverse velocità di trasferimento e larghezze di banda. In questo esempio, il passaggio all'indirizzo IP interno ha comportato un miglioramento di 0,9 GByte nella velocità di trasferimento e di 0,78 Gbit/sec nella larghezza di banda. Hai appena dimostrato che la connessione interna è più veloce.
Basandoti su ciò che hai imparato risolvendo il problema di Dobermanifesto, è possibile migliorare ulteriormente la velocità della rete utilizzando una macchina più grande? instance-2
è solo 1 vCPU. Quanto sarà veloce la connessione se la macchina è un po' più grande? O molto più grande? Continua a testare utilizzando l'indirizzo IP interno (ma testa anche quello esterno, se hai tempo).
Macchina da 4 vCPU
- Accedi tramite SSH a
instance-3
e testa la connessione con l'indirizzo IP interno:
Output di esempio (i tuoi risultati potrebbero differire):
Macchina da 4 CPU elevate
- Accedi tramite SSH a
instance-5
e testa la connessione con l'indirizzo IP interno:
Output di esempio:
Questo migliora davvero la velocità effettiva.
Sembra che Gecko Protocol dovrà anche pensare a quale sarà la migliore dimensione del core. Questa piccola sessione di debug ha comportato un miglioramento del trasferimento dei dati video e grafici di circa 14 volte. Che è moltissimo, considerando che la loro offerta è basata su servizi di backend prestazionali per scenari di computing ad alte prestazioni.
Attività 3: test nel tuo ambiente
Questo lab non spiega come testare il tuo sistema, ma ecco ulteriori informazioni che potranno risultarti utili. Per ulteriori informazioni su come testare la tua rete, leggi l'articolo Diagnosticare la velocità di rete con iPerf.
Se hai tempo e vuoi configurare una VM da testare, fallo pure. Quando crei le tue VM, assicurati di utilizzare il tag e la regola firewall "iperftest". Testa sia il tuo indirizzo IP interno che quello esterno.
Impostazioni per testare la velocità della tua rete
-
Nella console, vai a Menu di navigazione > Networking > Reti VPC > Firewall.
-
Fai clic su Crea regola firewall. Utilizza la seguente configurazione per creare una regola firewall:
Campo | Valore | Commenti |
---|---|---|
Nome | iperf-testing | Nome nuova regola |
Destinazioni | Tutte le istanze nella rete | |
Intervalli IP di origine | 0.0.0.0/0 | Apriremo il firewall per qualsiasi indirizzo IP da internet. |
Direzione del traffico | In entrata | |
Azione in caso di corrispondenza | Consenti | |
Protocolli e porte | tcp:5001; udp:5001 |
- Fai clic su Crea.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
La tendenza è quella di portare il carico di lavoro il più vicino possibile al 100%, il che lascia poco spazio per la deframmentazione del disco e così via.
Il 90-93% indica un utilizzo equilibrato, ma un valore del 98% vedrà un calo delle prestazioni poiché ci saranno molti conflitti.
Durante il test, se le prestazioni di I/O diminuiscono, osserva i contatori delle limitazioni. Se non vengono limitate, controlla l'utilizzo della CPU. Se è elevato, il problema è quello.
Attività 4: sei hai più tempo
Nell'interfaccia del lab, sotto Risorse per studenti sul lato sinistro, vedrai i link ai video relativi a questo lab. Vale davvero la pena guardarli!
Complimenti!
Complimenti! In questo lab hai imparato come testare la connettività e le prestazioni della rete utilizzando strumenti open source e come le dimensioni della tua macchina possono influire sulle prestazioni della rete.
Passaggi successivi/Scopri di più
- Scopri il post di Google Cloud Guida finale all'uso dei prodotti per il networking cloud di Google.
- Leggi la documentazione sul networking di Compute Engine.
- Scopri di più sulle subnet.
- Pubblica domande e trova risposte su Stack Overflow utilizzando i tag google-compute-engine o google-cloud-platform.
Formazione e certificazione Google Cloud
… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.
Ultimo aggiornamento del manuale: 4 ottobre 2023
Ultimo test del lab: 4 ottobre 2023
Copyright 2024 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.