Ottimizzare il caricamento nella rete

Completato

I frame Jumbo sono frame Ethernet superiori ai 1500 byte predefiniti. Le dimensioni tipiche dei frame Jumbo sono di 9000 byte. Aumentando le dimensioni dei frame nel server del database di origine, tutti i dispositivi di rete intermedi, ad esempio i commutatori e i server Intel R3load, riducono il consumo della CPU e aumentano la velocità effettiva della rete. Le dimensioni dei frame devono essere identiche in tutti i dispositivi; in caso contrario, si verifica una conversione con utilizzo elevato delle risorse.

È possibile attivare o configurare funzionalità di rete aggiuntive, come Receive Side Scaling (RSS), per distribuire l'elaborazione di rete tra più processori. L'esecuzione dei server R3load in VMware ha dimostrato di rendere più complessa l'ottimizzazione della rete per i frame Jumbo e RSS e non è consigliata a meno che non si disponga di un livello di competenza molto elevato.

R3load esporta i dati dalle tabelle DBMS e comprime questi dati indipendenti in formato non elaborato nei file dump. Questi file dump devono essere caricati in Azure e importati nel database di SQL Server di destinazione.

Le prestazioni della copia e del caricamento in Azure di questi file dump costituiscono un componente fondamentale nel processo di migrazione complessivo.

Sono disponibili due approcci di base per il caricamento dei file dump di R3load:

Copiare da server di esportazione R3load locali nell'archiviazione BLOB di Azure tramite Internet pubblico con AzCopy

In ognuno dei server R3load eseguire una copia di AzCopy con questa riga di comando:

Azcopy copy "C:\ExportServer_1\Dumpfiles" "https://[storage_account].blob.core.windows.net/ExportServer_1/Dumpfiles?[SAS_Token]" --recursive

Diagramma che illustra la copia da server di esportazione R3load locali nell'archiviazione BLOB di Azure tramite Internet pubblico con AzCopy.

È possibile aumentare la velocità effettiva impostando la variabile di ambiente AZCOPY_CONCURRENCY_VALUE. Questa variabile specifica il numero di richieste simultanee che possono verificarsi.

Se il computer ha meno di 5 CPU, il [valore] di questa variabile viene impostato su 32. Altrimenti, il valore predefinito è pari a 16 moltiplicato per il numero di CPU. Il valore predefinito massimo di questa variabile è 300, ma è possibile impostarlo manualmente su un valore superiore o inferiore:

Sistema operativo Comando
Windows set AZCOPY_CONCURRENCY_VALUE=[value]
Linux export AZCOPY_CONCURRENCY_VALUE=[value]
macOS export AZCOPY_CONCURRENCY_VALUE=[value]

Usare azcopy env per controllare il valore corrente della variabile di ambiente AZCOPY_CONCURRENCY_VALUE. Se il valore è vuoto, è possibile leggere il valore usato esaminando l'inizio di qualsiasi file di log di AzCopy. In quest'area viene segnalato il valore selezionato e il motivo per cui è stato selezionato.

Prima di impostare il valore di concorrenza, eseguire un test di benchmark. Il processo del test di benchmark segnala il valore di concorrenza raccomandato. In alternativa, se le condizioni di rete e i payload variano, impostare questa variabile sul termine AUTO anziché su un determinato numero. Con il valore AUTO, AzCopy eseguirà sempre lo stesso processo automatico di ottimizzazione usato nei test di benchmark.

Se un cliente ha un server potente e una connessione Internet veloce, il valore di concorrenza può essere aumentato. Se il valore di concorrenza viene aumentato eccessivamente, la connessione al server di esportazione R3load va persa a causa della saturazione della rete. Monitorare la velocità effettiva della rete in Gestione attività di Windows. È possibile ottenere facilmente una velocità effettiva di copia di oltre 1 Gigabit al secondo per il server di esportazione R3load. La velocità effettiva di copia può essere aumentata usando più server R3load (quattro sono illustrati nel diagramma precedente).

Uno script simile deve essere eseguito nei server di importazione R3load in Azure per copiare i file dal BLOB in un file system a cui R3load può accedere.

Copiare da server di esportazione R3load locali in una macchina virtuale di Azure o in un archivio BLOB tramite una connessione ExpressRoute dedicata usando AzCopy, Robocopy o uno strumento simile

Robocopy C:\Export1\Dump1 \\az_imp1\Dump1 /MIR /XF *.SGN /R:20 /V /S /Z /J /MT:8 /MON:1 /TEE /UNILOG+:C:\Export1\Robo1.Log

Il diagramma a blocchi seguente illustra quattro server Intel R3load che eseguono R3load. In background, viene avviato Robocopy che esegue il caricamento dei file dump. Quando vengono completate le suddivisioni di tabelle e pacchetti interi, il file SGN viene copiato manualmente o tramite uno script. Quando il file SGN per un pacchetto arriva nel server di importazione R3load, viene attivata automaticamente l'importazione per questo pacchetto.

Diagramma a blocchi che illustra 4 server Intel R3load che eseguono R3load.

Nota

La copia di file su NFS o protocolli SMB Windows non è un meccanismo rapido o affidabile come AzCopy. È consigliabile testare le prestazioni di entrambe le tecniche di caricamento dei file. È consigliabile inviare una notifica al supporto tecnico Microsoft per i progetti di migrazione VLDB perché le operazioni di rete con velocità effettiva molto elevata potrebbero essere identificate erroneamente come attacchi Denial of Service.