Guida alle prestazioni dell'attività di copia e all'ottimizzazioneCopy Activity performance and tuning guide

L'attività di copia di Azure Data Factory offre una soluzione di caricamento dei dati di primo livello in quanto a sicurezza, affidabilità e prestazioni.Azure Data Factory Copy Activity delivers a first-class secure, reliable, and high-performance data loading solution. Consente di copiare decine di terabyte di dati ogni giorno in un'ampia gamma di archivi dati locali e cloud.It enables you to copy tens of terabytes of data every day across a rich variety of cloud and on-premises data stores. Prestazioni di caricamento dei dati velocissime sono fondamentali per garantire di potersi concentrare sul problema centrale dei "big data": realizzare soluzioni avanzate di analisi e ricevere informazioni approfondite da tutti i dati.Blazing-fast data loading performance is key to ensure you can focus on the core “big data” problem: building advanced analytics solutions and getting deep insights from all that data.

Azure fornisce un set di soluzioni di archiviazione dei dati e data warehouse di livello aziendale, e l'attività di copia offre un'esperienza di caricamento dei dati altamente ottimizzata, facile da configurare e impostare.Azure provides a set of enterprise-grade data storage and data warehouse solutions, and Copy Activity offers a highly optimized data loading experience that is easy to configure and set up. Con un'unica attività di copia, è possibile ottenere:With just a single copy activity, you can achieve:

  • Caricamento dei dati in Azure SQL Data Warehouse a 1,2 GBps.Loading data into Azure SQL Data Warehouse at 1.2 GBps.
  • Caricamento dei dati nell'Archiviazione BLOB di Azure a 1 GBpsLoading data into Azure Blob storage at 1.0 GBps
  • Caricamento dei dati in Azure Data Lake Store a 1 GBpsLoading data into Azure Data Lake Store at 1.0 GBps

L'articolo illustra:This article describes:

Nota

Se non si ha familiarità con l'attività di copia in generale, vedere Panoramica dell'attività di copia prima di continuare a leggere l'articolo.

Informazioni di riferimento sulle prestazioniPerformance reference

Come riferimento, la tabella sotto mostra la velocità effettiva di copia in Mbps per le coppie di origine e sink specifiche nell'esecuzione di una singola attività di copia in base a test interni.As a reference, below table shows the copy throughput number in MBps for the given source and sink pairs in a single copy activity run based on in-house testing. A scopo di confronto, viene illustrato anche in che modo le diverse impostazioni di unità di integrazione dati o la scalabilità del runtime di integrazione self-hosted (nodi multipli) possono migliorare le prestazioni di copia.For comparison, it also demonstrates how different settings of Data Integration Units or Self-hosted Integration Runtime scalability (multiple nodes) can help on copy performance.

Matrice delle prestazioni

Importante

Quando l'attività di copia viene eseguita in Integration Runtime di Azure, il numero minimo di unità di integrazione dati (note in precedenza come unità di spostamento dati) è due. Se non specificato, vedere le unità di integrazione dati predefinite usate in Unità di integrazione dati.

Punti da notare:Points to note:

  • La velocità effettiva viene calcolata con la formula seguente: [dimensione dei dati letti dall'origine]/[durata dell'esecuzione dell'attività di copia].Throughput is calculated by using the following formula: [size of data read from source]/[Copy Activity run duration].
  • I numeri di riferimento delle prestazioni nella tabella sono stati misurati usando il set di dati TPC-H nell'esecuzione di una singola attività di copia.The performance reference numbers in the table were measured using TPC-H dataset in a single copy activity run. I file di test per gli archivi basati su file sono file multipli di dimensioni pari a 10 GB.Test files for file-based stores are multiple files with 10GB in size.
  • Nel caso degli archivi dati di Azure, l'origine e il sink si trovano nella stessa area di Azure.In Azure data stores, the source and sink are in the same Azure region.
  • Per la copia ibrida tra archivi dati locali e cloud, ogni nodo del runtime di integrazione self-hosted è in esecuzione su un computer separato dall'archivio dati, con le specifiche indicate di seguito.For hybrid copy between on-premises and cloud data stores, each Self-hosted Integration Runtime node was running on a machine that was separate from the data store with below specification. Durante l'esecuzione di una singola attività, l'operazione di copia ha usato solo una piccola parte della CPU, della memoria o della larghezza di banda di rete del computer di test.When a single activity was running, the copy operation consumed only a small portion of the test machine's CPU, memory, or network bandwidth.
    CPUCPU Intel Xeon E5-2660 v2 da 32 core a 2,20 GHz32 cores 2.20 GHz Intel Xeon E5-2660 v2
    MemoriaMemory 128 GB128 GB
    ReteNetwork Interfaccia Internet: 10 Gbps, interfaccia Intranet: 40 GbpsInternet interface: 10 Gbps; intranet interface: 40 Gbps

Suggerimento

È possibile ottenere una velocità effettiva più elevata usando altre unità di integrazione dati (DIU). Ad esempio, con 100 unità di integrazione dati è possibile copiare i dati dal BLOB di Azure in Azure Data Lake Store a 1,0 GB al secondo. Vedere la sezione Unità di integrazione dati per informazioni dettagliate su questa funzionalità e sullo scenario supportato.

Unità di integrazione datiData integration units

Un'unità di integrazione dati (nota in precedenza come unità di spostamento dati cloud) è una misura che rappresenta la potenza, ossia la combinazione tra CPU, memoria e allocazione di risorse di rete, di una singola unità in Data Factory.A Data Integration Unit (DIU) (formerly known as Cloud Data Movement Unit or DMU) is a measure that represents the power (a combination of CPU, memory, and network resource allocation) of a single unit in Data Factory. L'unità di integrazione dati si applica solo al runtime di integrazione di Azure ma non al runtime di integrazione self-hosted.DIU only applies to Azure Integration Runtime, but not Self-hosted Integration Runtime.

Il numero minimo di unità di integrazione dati per ottimizzare l'esecuzione dell'attività di copia è due.The minimal Data Integration Units to empower Copy Activity run is two. Se non specificato, nella tabella seguente sono elencate le unità di integrazione dati predefinite usate in diversi scenari di copia:If not specified, the following table lists the default DIUs used in different copy scenarios:

Scenario di copiaCopy scenario Numero di unità di integrazione dati predefinite determinato dal servizioDefault DIUs determined by service
Copiare dati tra archivi basati su fileCopy data between file-based stores Tra 4 e 32 in base al numero e alle dimensioni dei file.Between 4 and 32 depending on the number and size of the files.
Tutti gli altri scenari di copiaAll other copy scenarios 44

Per ignorare l'impostazione predefinita, è possibile specificare un valore per la proprietà dataIntegrationUnits procedendo come segue.To override this default, specify a value for the dataIntegrationUnits property as follows. I valori consentiti per la proprietà dataIntegrationUnits sono quelli fino a 256.The allowed values for the dataIntegrationUnits property is up to 256. Il numero effettivo di unità di integrazione dati usate dall'operazione di copia in fase di esecuzione è minore o uguale al valore configurato, a seconda del modello di dati.The actual number of DIUs that the copy operation uses at run time is equal to or less than the configured value, depending on your data pattern. Per informazioni sul livello di miglioramento delle prestazioni che è possibile ottenere quando si configurano più unità per un sink e un'origine della copia specifici, vedere la sezione Informazioni di riferimento sulle prestazioni.For information about the level of performance gain you might get when you configure more units for a specific copy source and sink, see the performance reference.

Quando si monitora un'esecuzione attività, è possibile visualizzare le unità di integrazione dati effettivamente usate per ogni esecuzione della copia nell'output dell'attività di copia.You can see the actually used Data Integration Units for each copy run in the copy activity output when monitoring an activity run. Vedere Monitoraggio dell'attività di copia.Learn details from Copy activity monitoring.

Nota

Attualmente è possibile impostare un numero di unità di integrazione dati maggiore di 4 solo quando si copiano più file da archiviazione BLOB/Data Lake Storage/Amazon S3/server FTP cloud/server SFTP cloud in qualsiasi altro archivio dati cloud.

Esempio:Example:

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "dataIntegrationUnits": 32
        }
    }
]

Impatto sulla fatturazione delle unità di integrazione datiData Integration Units billing impact

È importante ricordare che l'addebito è basato sul tempo totale impiegato per l'operazione di copia.It's important to remember that you are charged based on the total time of the copy operation. La durata totale fatturata per lo spostamento dati equivale alla somma della durata di tutte le unità di integrazione dati.The total duration you are billed for data movement is the sum of duration across DIUs. Se un processo di copia impiegava un'ora con due unità cloud e ora richiede 15 minuti con otto unità cloud, la fattura complessiva rimane pressoché identica.If a copy job used to take one hour with two cloud units and now it takes 15 minutes with eight cloud units, the overall bill remains almost the same.

Copia parallelaParallel Copy

È possibile usare la proprietà parallelCopies per indicare il parallelismo che l'attività di copia deve usare.You can use the parallelCopies property to indicate the parallelism that you want Copy Activity to use. Questa proprietà può essere considerata come il numero massimo di thread all'interno dell'attività di copia che possono leggere dall'origine o scrivere negli archivi dati sink in parallelo.You can think of this property as the maximum number of threads within Copy Activity that can read from your source or write to your sink data stores in parallel.

Per ogni esecuzione dell'attività di copia, Data Factory determina il numero di copie parallele da usare per copiare i dati dall'archivio dati di origine all'archivio dati di destinazione.For each Copy Activity run, Data Factory determines the number of parallel copies to use to copy data from the source data store and to the destination data store. Il numero predefinito di copie parallele usate dipende dal tipo di origine e dal tipo di sink usati:The default number of parallel copies that it uses depends on the type of source and sink that you are using:

Scenario di copiaCopy scenario Numero predefinito di copie parallele determinato dal servizioDefault parallel copy count determined by service
Copiare dati tra archivi basati su fileCopy data between file-based stores Dipende dalle dimensioni dei file e dal numero di unità di integrazione dati usate per copiare dati tra due archivi dati cloud oppure dalla configurazione fisica del computer del runtime di integrazione self-hosted.Depends on the size of the files and the number of Data Integration Units (DIUs) used to copy data between two cloud data stores, or the physical configuration of the Self-hosted Integration Runtime machine.
Copiare dati da qualsiasi archivio dati di origine in un'archiviazione tabelle di AzureCopy data from any source data store to Azure Table storage 44
Tutti gli altri scenari di copiaAll other copy scenarios 11

Suggerimento

Quando si copiano dati tra archivi basati su file, il comportamento predefinito (determinato automaticamente) è in genere quello che assicura la massima velocità effettiva.

Per controllare il carico sui computer che ospitano gli archivi dati o per ottimizzare le prestazioni di copia, è possibile scegliere di ignorare il valore predefinito e specificare un valore per la proprietà parallelCopies.To control the load on machines that host your data stores, or to tune copy performance, you may choose to override the default value and specify a value for the parallelCopies property. Il valore deve essere un numero intero maggiore o uguale a 1.The value must be an integer greater than or equal to 1. Per garantire prestazioni ottimali in fase di esecuzione, l'attività di copia usa un valore minore o uguale al valore configurato.At run time, for the best performance, Copy Activity uses a value that is less than or equal to the value that you set.

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "parallelCopies": 32
        }
    }
]

Punti da notare:Points to note:

  • Quando si copiano i dati tra archivi basati su file, parallelCopies determina il parallelismo a livello di file.When you copy data between file-based stores, the parallelCopies determine the parallelism at the file level. La suddivisione in blocchi all'interno di un singolo file si verificherebbe sottotraccia in modo automatico e trasparente; tale operazione è pensata per usare la dimensione di blocco più appropriata per un tipo di archivio dati di origine specificato al fine di caricare i dati in maniera parallela e ortogonale a parallelCopies.The chunking within a single file would happen underneath automatically and transparently, and it's designed to use the best suitable chunk size for a given source data store type to load data in parallel and orthogonal to parallelCopies. Il numero effettivo di copie parallele usate dal servizio di spostamento dati per l'operazione di copia in fase di esecuzione non è maggiore del numero di file disponibili.The actual number of parallel copies the data movement service uses for the copy operation at run time is no more than the number of files you have. Se il comportamento di copia è mergeFile, l'attività di copia non può usare il parallelismo a livello di file.If the copy behavior is mergeFile, Copy Activity cannot take advantage of file-level parallelism.
  • Quando si specifica un valore per la proprietà parallelCopies, prendere in considerazione l'aumento del carico per gli archivi dati sink e di origine e per il runtime di integrazione self-hosted se l'attività di copia viene ottimizzata da quest'ultimo, ad esempio se si tratta di una copia ibrida.When you specify a value for the parallelCopies property, consider the load increase on your source and sink data stores, and to Self-Hosted Integration Runtime if the copy activity is empowered by it for example, for hybrid copy. Questo avviene soprattutto quando ci sono più attività o esecuzioni simultanee delle stesse attività che vengono eseguite con lo stesso archivio dati.This happens especially when you have multiple activities or concurrent runs of the same activities that run against the same data store. Se si nota un sovraccarico dell'archivio dati o del runtime di integrazione self-hosted, diminuire il valore di parallelCopies per alleggerirlo.If you notice that either the data store or Self-hosted Integration Runtime is overwhelmed with the load, decrease the parallelCopies value to relieve the load.
  • Quando si copiano dati da archivi non basati su file in archivi basati su file, il servizio di spostamento dati ignora la proprietà parallelCopies .When you copy data from stores that are not file-based to stores that are file-based, the data movement service ignores the parallelCopies property. Anche se viene specificato, in questo caso il parallelismo non viene applicato.Even if parallelism is specified, it's not applied in this case.
  • parallelCopies è ortogonale rispetto a dataIntegrationUnits.parallelCopies is orthogonal to dataIntegrationUnits. La prima viene conteggiata su tutte le unità di integrazione dati.The former is counted across all the Data Integration Units.

copia di stagingStaged copy

Quando si copiano dati da un archivio dati di origine a un archivio dati sink, è possibile scegliere di usare un archivio BLOB come archivio di staging provvisorio.When you copy data from a source data store to a sink data store, you might choose to use Blob storage as an interim staging store. La funzionalità di staging è particolarmente utile nei casi seguenti:Staging is especially useful in the following cases:

  • Si inseriscono dati da vari archivi dati in SQL Data Warehouse tramite PolyBase.You want to ingest data from various data stores into SQL Data Warehouse via PolyBase. SQL Data Warehouse fa uso di PolyBase come meccanismo a velocità effettiva elevata per il caricamento di grandi quantità di dati in SQL Data Warehouse.SQL Data Warehouse uses PolyBase as a high-throughput mechanism to load a large amount of data into SQL Data Warehouse. Tuttavia, i dati di origine devono trovarsi in Archiviazione BLOB o Azure Data Lake Store e devono soddisfare criteri aggiuntivi.However, the source data must be in Blob storage or Azure Data Lake Store, and it must meet additional criteria. Quando si caricano dati da un archivio dati non BLOB o Azure Data Lake Store, è possibile attivare la copia di dati tramite un'archiviazione BLOB di staging provvisoria.When you load data from a data store other than Blob storage or Azure Data Lake Store, you can activate data copying via interim staging Blob storage. In tal caso, Data Factory esegue le trasformazioni di dati necessarie per garantire che vengano soddisfatti i requisiti di PolyBase.In that case, Data Factory performs the required data transformations to ensure that it meets the requirements of PolyBase. Quindi usa PolyBase per caricare in modo efficiente i dati in SQL Data Warehouse.Then it uses PolyBase to load data into SQL Data Warehouse efficiently. Per altre informazioni, vedere la sezione Usare PolyBase per caricare dati in Azure SQL Data Warehouse.For more information, see Use PolyBase to load data into Azure SQL Data Warehouse.
  • A volte occorre tempo per eseguire uno spostamento dati ibrido, ovvero la copia da un archivio dati locale a un archivio dati cloud, su una connessione di rete lenta.Sometimes it takes a while to perform a hybrid data movement (that is, to copy from an on-premises data store to a cloud data store) over a slow network connection. Per migliorare le prestazioni, è possibile usare la copia di staging per comprimere i dati in locale in modo che sia necessario meno tempo per spostare i dati nell'archivio dati di staging nel cloud e decomprimere i dati nell'archivio di staging prima di caricarli nell'archivio dati di destinazione.To improve performance, you can use staged copy to compress the data on-premises so that it takes less time to move data to the staging data store in the cloud then decompress the data in the staging store before loading into the destination data store.
  • Non si vuole aprire porte diverse dalla porta 80 e dalla porta 443 nel firewall, a causa dei criteri IT aziendali.You don't want to open ports other than port 80 and port 443 in your firewall, because of corporate IT policies. Ad esempio, quando si copiano dati da un archivio dati locale a un sink del database SQL di Azure o un sink di Azure SQL Data Warehouse, è necessario attivare le comunicazioni TCP in uscita sulla porta 1433 per Windows Firewall e per il firewall aziendale.For example, when you copy data from an on-premises data store to an Azure SQL Database sink or an Azure SQL Data Warehouse sink, you need to activate outbound TCP communication on port 1433 for both the Windows firewall and your corporate firewall. In questo scenario, la copia di staging sfrutta il runtime di integrazione self-hosted prima di tutto per copiare i dati in un'istanza di staging dell'archiviazione BLOB tramite HTTP o HTTPS sulla porta 443 e poi per caricare i dati in un database SQL o in un SQL Data Warehouse dall'istanza di staging dell'archiviazione BLOB.In this scenario, staged copy can take advantage of the Self-hosted Integration Runtime to first copy data to a Blob storage staging instance over HTTP or HTTPS on port 443, then load the data into SQL Database or SQL Data Warehouse from Blob storage staging. In questo flusso non è necessario abilitare la porta 1433.In this flow, you don't need to enable port 1433.

Come funziona la copia di stagingHow staged copy works

Quando si attiva la funzionalità di staging, i dati vengono prima copiati dall'archivio dati di origine nell'archivio BLOB di staging personale.When you activate the staging feature, first the data is copied from the source data store to the staging Blob storage (bring your own). Successivamente, vengono copiati dall'archivio dati di staging nell'archivio dati sink.Next, the data is copied from the staging data store to the sink data store. Data Factory gestisce automaticamente il flusso in due fasiData Factory automatically manages the two-stage flow for you. ed elimina i dati temporanei dall'archivio di staging al termine dello spostamento dati.Data Factory also cleans up temporary data from the staging storage after the data movement is complete.

copia di staging

Quando si attiva lo spostamento dei dati usando un archivio di staging, è possibile specificare se i dati devono essere compressi prima dello spostamento dall'archivio dati di origine all'archivio dati provvisorio o di staging e poi decompressi prima dello spostamento dall'archivio dati provvisorio o di staging all'archivio dati sink.When you activate data movement by using a staging store, you can specify whether you want the data to be compressed before moving data from the source data store to an interim or staging data store, and then decompressed before moving data from an interim or staging data store to the sink data store.

Attualmente non è possibile copiare dati tra due archivi dati locali usando un archivio di staging.Currently, you can't copy data between two on-premises data stores by using a staging store.

ConfigurazioneConfiguration

Configurare l'impostazione enableStaging nell'attività di copia per specificare se i dati devono essere inseriti in un archivio BLOB di Azure di staging prima del caricamento in un archivio dati di destinazione.Configure the enableStaging setting in Copy Activity to specify whether you want the data to be staged in Blob storage before you load it into a destination data store. Se si imposta enableStaging su TRUE, specificare le proprietà aggiuntive elencate nella tabella seguente.When you set enableStaging to TRUE, specify the additional properties listed in the next table. Se non è già disponibile, è necessario creare un servizio collegato alla firma di accesso condiviso di archiviazione o di Archiviazione di Azure per lo staging.If you don’t have one, you also need to create an Azure Storage or Storage shared access signature-linked service for staging.

ProprietàProperty DescrizioneDescription Valore predefinitoDefault value ObbligatorioRequired
enableStagingenableStaging Specificare se si vuole copiare i dati tramite un archivio di staging provvisorio.Specify whether you want to copy data via an interim staging store. FalseFalse NoNo
linkedServiceNamelinkedServiceName Specificare il nome di un servizio collegato AzureStorage che fa riferimento all'istanza di archiviazione usata come archivio di staging provvisorio.Specify the name of an AzureStorage linked service, which refers to the instance of Storage that you use as an interim staging store.

L'archiviazione non può essere usata con una firma di accesso condiviso per caricare dati in SQL Data Warehouse tramite PolyBase.You cannot use Storage with a shared access signature to load data into SQL Data Warehouse via PolyBase. Può essere usata in tutti gli altri scenari.You can use it in all other scenarios.
N/DN/A Sì, quando enableStaging è impostato su TRUEYes, when enableStaging is set to TRUE
pathpath Specificare il percorso dell'archivio BLOB che deve contenere i dati di staging.Specify the Blob storage path that you want to contain the staged data. Se non si specifica un percorso, il servizio crea un contenitore in cui archiviare i dati temporanei.If you do not provide a path, the service creates a container to store temporary data.

Specificare un percorso solo se si usa l'archiviazione con una firma di accesso condiviso o se i dati temporanei devono trovarsi in un percorso specifico.Specify a path only if you use Storage with a shared access signature, or you require temporary data to be in a specific location.
N/DN/A NoNo
enableCompressionenableCompression Specifica se è necessario comprimere i dati prima di copiarli nella destinazione.Specifies whether data should be compressed before it is copied to the destination. Questa impostazione ridurre il volume dei dati da trasferire.This setting reduces the volume of data being transferred. FalseFalse No No

Nota

Se si usa la copia di staging con compressione abilitata, l'entità servizio o l'autenticazione MSI per lo staging del servizio collegato BLOB non è supportato.

Di seguito è riportata una definizione di esempio di attività di copia con le proprietà descritte nella tabella precedente:Here's a sample definition of Copy Activity with the properties that are described in the preceding table:

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "SqlSink"
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingBlob",
                    "type": "LinkedServiceReference"
                },
                "path": "stagingcontainer/path",
                "enableCompression": true
            }
        }
    }
]

Impatto della copia di staging sulla fatturazioneStaged copy billing impact

I costi addebitati si basano su due passaggi: durata della copia e tipo di copia.You are charged based on two steps: copy duration and copy type.

  • Quando si usa la funzionalità di staging durante una copia nel cloud, ovvero la copia di dati da un archivio dati cloud a un altro archivio dati cloud con l'ottimizzazione del runtime di integrazione di Azure, il costo addebitato sarà [somma della durata della copia per i passaggi 1 e 2] x [prezzo unitario della copia nel cloud].When you use staging during a cloud copy (copying data from a cloud data store to another cloud data store, both stages empowered by Azure Integration Runtime), you are charged the [sum of copy duration for step 1 and step 2] x [cloud copy unit price].
  • Quando si usa la funzionalità di staging durante una copia ibrida, ovvero la copia di dati da un archivio dati locale a un archivio dati cloud e solo uno beneficia dell'ottimizzazione del runtime di integrazione di Azure, il costo addebitato sarà [durata della copia ibrida] x [prezzo unitario della copia ibrida] + [durata della copia nel cloud] x [prezzo unitario della copia nel cloud].When you use staging during a hybrid copy (copying data from an on-premises data store to a cloud data store, one stage empowered by Self-hosted Integration Runtime), you are charged for [hybrid copy duration] x [hybrid copy unit price] + [cloud copy duration] x [cloud copy unit price].

Procedura di ottimizzazione delle prestazioniPerformance tuning steps

Per ottimizzare le prestazioni del servizio Data Factory con l'attività di copia, è consigliabile seguire questa procedura:We suggest that you take these steps to tune the performance of your Data Factory service with Copy Activity:

  1. Stabilire una baseline.Establish a baseline. Durante la fase di sviluppo, testare la pipeline usando l'attività di copia su un campione di dati rappresentativo.During the development phase, test your pipeline by using Copy Activity against a representative data sample. Raccogliere i dettagli dell'esecuzione e le caratteristiche relative alle prestazioni usando il monitoraggio dell'attività di copia.Collect execution details and performance characteristics following Copy activity monitoring.

  2. Diagnosticare e ottimizzare le prestazioni.Diagnose and optimize performance. Se le prestazioni osservate non soddisfano le aspettative, è necessario identificare gli eventuali colli di bottigliaIf the performance you observe doesn't meet your expectations, you need to identify performance bottlenecks. e quindi ottimizzare le prestazioni per rimuovere o ridurre l'effetto dei colli di bottiglia.Then, optimize performance to remove or reduce the effect of bottlenecks.

    In alcuni casi, quando si esegue un'attività di copia in file di definizione dell'applicazione (ADF), verrà direttamente visualizzato "Performance tuning tips" (Suggerimenti per l'ottimizzazione delle prestazioni) in cima alla pagina Copy activity monitoring (Monitoraggio attività di copia) come illustrato nell'esempio seguente.In some cases, when you execute a copy activity in ADF, you will directly see "Performance tuning tips" on top of the copy activity monitoring page as shown in the following example. Il testo nel riquadro non solo indica un collo di bottiglia identificato per l'esecuzione della copia specificata, ma descrive anche gli elementi da modificare in modo da migliorare la velocità effettiva di copia.It not only tells you the bottleneck identified for the given copy run, but also guides you on what to change so as to boost copy throughput. I suggerimenti per l'ottimizzazione delle prestazioni forniscono indicazioni utili, come ad esempio usare PolyBase per la copia dei dati in Azure SQL Data Warehouse, aumentare le unità UR di Azure Cosmos DB o DTU del database SQL di Azure se il collo di bottiglia dipende dalla risorsa nell'archivio dati, rimuovere la copia di gestione temporanea non necessaria e così via. Anche le regole di ottimizzazione delle prestazioni verranno gradualmente migliorate.The performance tuning tips currently provide suggestions like to use PolyBase when copying data into Azure SQL Data Warehouse, to increase Azure Cosmos DB RU or Azure SQL DB DTU when the resource on data store side is the bottleneck, to remove the unnecessary staged copy, etc. The performance tuning rules will be gradually enriched as well.

    Esempio: copia nel database SQL di Azure con i suggerimenti per l'ottimizzazione delle prestazioniExample: copy into Azure SQL DB with performance tuning tips

    In questo esempio, durante l'esecuzione della copia, Azure Data Factory nota che il database SQL di Azure sink raggiunge un utilizzo di DTU elevato che rallenta le operazioni di scrittura. Il suggerimento pertanto consiste nell'aumentare il livello di database SQL di Azure con altre unità DTU.In this sample, during copy run, ADF notice the sink Azure SQL DB reaches high DTU utilization which slows down the write operations, thus the suggestion is to increase the Azure SQL DB tier with more DTU.

    Monitoraggio della copia con suggerimenti per l'ottimizzazione delle prestazioni

    Si riportano inoltre le considerazioni comuni seguenti.In addition, the following are some common considerations. Una descrizione completa della diagnosi delle prestazioni non rientra nell'ambito di questo articolo.A full description of performance diagnosis is beyond the scope of this article.

  3. Espandere la configurazione all'intero set di dati.Expand the configuration to your entire data set. Dopo aver ottenuto prestazioni e risultati di esecuzione soddisfacenti, è possibile espandere la definizione e la pipeline per coprire l'intero set di dati.When you're satisfied with the execution results and performance, you can expand the definition and pipeline to cover your entire data set.

Considerazioni sul runtime di integrazione self-hostedConsiderations for Self-hosted Integration Runtime

Se l'attività di copia viene eseguita in un runtime di integrazione self-hosted, tenere presente quanto segue:If your copy activity is executed on a Self-hosted Integration Runtime, note the following:

Configurazione: è consigliabile usare un computer dedicato per ospitare il runtime di integrazione.Setup: We recommend that you use a dedicated machine to host Integration Runtime. Vedere Considerazioni sull'uso del runtime di integrazione self-hosted.See Considerations for using Self-hosted Integration Runtime.

Scalabilità orizzontale: un singolo runtime di integrazione self-hosted logico con uno o più nodi può consentire più esecuzioni di attività di copia contemporaneamente.Scale out: A single logical Self-hosted Integration Runtime with one or more nodes can serve multiple Copy Activity runs at the same time concurrently. Se si hanno necessità complesse di spostamento di dati ibridi, con un numero elevato di esecuzioni di attività di copia simultanee o con un volume elevato di dati da copiare, prendere in considerazione la possibilità di aumentare il numero di istanze del runtime di integrazione self-hosted in modo da utilizzare al meglio la risorsa o effettuare il provisioning di più risorse a supporto della copia.If you have heavy need on hybrid data movement either with large number of concurrent copy activity runs or with large volume of data to copy, consider to scale out Self-hosted Integration Runtime so as to provision more resource to empower copy.

Considerazioni sull'origineConsiderations for the source

GeneraleGeneral

Assicurarsi che l'archivio dati sottostante non sia sovraccarico a causa di altri carichi di lavoro in esecuzione in o su di esso.Be sure that the underlying data store is not overwhelmed by other workloads that are running on or against it.

Per gli archivi dati Microsoft, vedere gli argomenti sul monitoraggio e l'ottimizzazione specifici degli archivi dati, per comprendere meglio le caratteristiche delle prestazioni degli archivi dati e come ridurre al minimo i tempi di risposta e ottimizzare la velocità effettiva.For Microsoft data stores, see monitoring and tuning topics that are specific to data stores, and help you understand data store performance characteristics, minimize response times, and maximize throughput.

Archivi dati basati su fileFile-based data stores

  • Dimensioni medie dei file e numero medio di file: l'attività di copia trasferisce i dati procedendo un file alla volta.Average file size and file count: Copy Activity transfers data one file at a time. Con la stessa quantità di dati da spostare, la velocità effettiva generale risulta inferiore se i dati sono costituiti da un numero elevato di file piccoli anziché da pochi file di grandi dimensioni. Ciò è dovuto alla fase di bootstrap necessaria per ogni file.With the same amount of data to be moved, the overall throughput is lower if the data consists of many small files rather than a few large files due to the bootstrap phase for each file. Se possibile, combinare quindi i file piccoli in file più grandi per raggiungere una maggiore velocità effettiva.Therefore, if possible, combine small files into larger files to gain higher throughput.
  • Formato di file e compressione: per altre informazioni su come migliorare le prestazioni, vedere le sezioni Considerazioni sulla serializzazione e deserializzazione e Considerazioni sulla compressione.File format and compression: For more ways to improve performance, see the Considerations for serialization and deserialization and Considerations for compression sections.

Archivi dati relazionaliRelational data stores

  • Modello di dati: Lo schema di tabella influisce sulla velocità effettiva di copia.Data pattern: Your table schema affects copy throughput. Una riga di grandi dimensioni offre migliori prestazioni rispetto a una riga di piccole dimensioni per copiare la stessa quantità di dati.A large row size gives you a better performance than small row size, to copy the same amount of data. Questo perché il database è in grado di recuperare in modo più efficiente un minor numero di batch di dati che contengono meno righe.The reason is that the database can more efficiently retrieve fewer batches of data that contain fewer rows.
  • Query o stored procedure: ottimizzare la logica della query o della stored procedure specificata nell'origine dell'attività di copia per recuperare i dati in modo più efficiente.Query or stored procedure: Optimize the logic of the query or stored procedure you specify in the Copy Activity source to fetch data more efficiently.

Considerazioni sul sinkConsiderations for the sink

GeneraleGeneral

Assicurarsi che l'archivio dati sottostante non sia sovraccarico a causa di altri carichi di lavoro in esecuzione in o su di esso.Be sure that the underlying data store is not overwhelmed by other workloads that are running on or against it.

Per gli archivi dati Microsoft, vedere gli argomenti sul monitoraggio e l'ottimizzazione specifici per gli archivi dati,For Microsoft data stores, refer to monitoring and tuning topics that are specific to data stores. per comprendere meglio le caratteristiche delle prestazioni degli archivi dati e come ridurre al minimo i tempi di risposta e ottimizzare la velocità effettiva.These topics can help you understand data store performance characteristics and how to minimize response times and maximize throughput.

Archivi dati basati su fileFile-based data stores

  • Comportamento di copia: se si copiano dati da un diverso archivio dati basato su file, l'attività di copia fornisce tre tipi di comportamento tramite la proprietà copyBehavior,Copy behavior: If you copy data from a different file-based data store, Copy Activity has three options via the copyBehavior property. mantenere la gerarchia, rendere flat la gerarchia e unire i file.It preserves hierarchy, flattens hierarchy, or merges files. Conservare o rendere flat la gerarchia comporta un overhead delle prestazioni minimo, mentre unire i file provoca un aumento dell'overhead delle prestazioni.Either preserving or flattening hierarchy has little or no performance overhead, but merging files causes performance overhead to increase.
  • Formato di file e compressione: per altre informazioni su come migliorare le prestazioni, vedere le sezioni Considerazioni sulla serializzazione e deserializzazione e Considerazioni sulla compressione.File format and compression: See the Considerations for serialization and deserialization and Considerations for compression sections for more ways to improve performance.

Archivi dati relazionaliRelational data stores

  • Comportamento di copia: a seconda delle proprietà configurate per sqlSink, l'attività di copia scrive i dati nel database di destinazione in modi diversi.Copy behavior: Depending on the properties you've set for sqlSink, Copy Activity writes data to the destination database in different ways.
    • Per impostazione predefinita, il servizio di spostamento dati usa l'API per la copia bulk per inserire i dati in modalità Append, che offre le prestazioni migliori.By default, the data movement service uses the Bulk Copy API to insert data in append mode, which provides the best performance.
    • Se si configura una stored procedure nel sink, il database applica i dati una riga alla volta anziché come caricamento bulkIf you configure a stored procedure in the sink, the database applies the data one row at a time instead of as a bulk load. e le prestazioni ne risentono notevolmente.Performance drops significantly. Se il set di dati è di grandi dimensioni, valutare l'opportunità di passare a usare la proprietà preCopyScript, se applicabile.If your data set is large, when applicable, consider switching to using the preCopyScript property.
    • Se si configura la proprietà preCopyScript per ogni esecuzione dell'attività di copia, il servizio attiva lo script e quindi usa l'API per la copia bulk per inserire i dati.If you configure the preCopyScript property for each Copy Activity run, the service triggers the script, and then you use the Bulk Copy API to insert the data. Ad esempio, per sovrascrivere l'intera tabella con i dati più recenti, è possibile specificare uno script per eliminare tutti i record prima del caricamento bulk dei nuovi dati dall'origine.For example, to overwrite the entire table with the latest data, you can specify a script to first delete all records before bulk-loading the new data from the source.
  • Modello di dati e dimensioni batch:Data pattern and batch size:
    • Lo schema di tabella influisce sulla velocità effettiva di copia.Your table schema affects copy throughput. Per copiare la stessa quantità di dati, dimensioni di riga grandi offrono prestazioni migliori rispetto a dimensioni di riga piccole, perché il database può eseguire in modo più efficiente il commit di un numero inferiore di batch di dati.To copy the same amount of data, a large row size gives you better performance than a small row size because the database can more efficiently commit fewer batches of data.
    • L'attività di copia inserisce i dati in una serie di batch.Copy Activity inserts data in a series of batches. Per impostare il numero di righe in un batch è possibile usare la proprietà writeBatchSize .You can set the number of rows in a batch by using the writeBatchSize property. Se le righe dei dati sono di piccole dimensioni, è possibile impostare la proprietà writeBatchSize con un valore più elevato per sfruttare l'overhead di un numero minore di batch e aumentare la velocità effettiva.If your data has small rows, you can set the writeBatchSize property with a higher value to benefit from lower batch overhead and higher throughput. Se le righe sono di grandi dimensioni, prestare attenzione quando si aumenta il valore di writeBatchSize.If the row size of your data is large, be careful when you increase writeBatchSize. Un valore elevato può causare un errore di copia dovuto a un sovraccarico del database.A high value might lead to a copy failure caused by overloading the database.

Archivi NoSQLNoSQL stores

  • Per gli archivi tabelle:For Table storage:
    • Partizione: scrivere i dati nelle partizioni con interleave riduce drasticamente le prestazioni.Partition: Writing data to interleaved partitions dramatically degrades performance. Ordinare i dati di origine per chiave di partizione in modo che i dati vengano inseriti in modo efficiente in una partizione dopo l'altra, oppure è possibile modificare la logica e scrivere i dati in una sola partizione.Sort your source data by partition key so that the data is inserted efficiently into one partition after another, or adjust the logic to write the data to a single partition.

Considerazioni sulla serializzazione e deserializzazioneConsiderations for serialization and deserialization

Serializzazione e deserializzazione possono verificarsi quando il set di dati di input o il set di dati di output è costituito da un file.Serialization and deserialization can occur when your input data set or output data set is a file. Per informazioni dettagliate sui formati di file supportati dall'attività di copia vedere File supportati e formati di compressione.See Supported file and compression formats with details on supported file formats by Copy Activity.

Comportamento di copia:Copy behavior:

  • Copia di file tra archivi dati basati su file:Copying files between file-based data stores:
    • Quando i set di dati di input e di output hanno le stesse impostazioni del formato di file o non hanno tali impostazioni, il servizio di spostamento dati esegue una copia binaria senza alcuna serializzazione o deserializzazione.When input and output data sets both have the same or no file format settings, the data movement service executes a binary copy without any serialization or deserialization. La velocità effettiva è superiore rispetto allo scenario, in cui le impostazioni del formato di file di origine e del sink sono diverse tra loro.You see a higher throughput compared to the scenario, in which the source and sink file format settings are different from each other.
    • Quando i set di dati di input e di output sono entrambi in formato testo e solo il tipo di codifica è diverso, il servizio di spostamento esegue solo la conversione della codifica.When input and output data sets both are in text format and only the encoding type is different, the data movement service only does encoding conversion. Non esegue alcuna operazione di serializzazione o deserializzazione e questo dà luogo a un certo overhead delle prestazioni rispetto alla copia binaria.It doesn't do any serialization and deserialization, which causes some performance overhead compared to a binary copy.
    • Quando i set di dati di input e di output hanno entrambi formati di file diversi o configurazioni diverse, ad esempio i delimitatori, il servizio di spostamento dati deserializza i dati di origine per trasmetterli, trasformarli e quindi serializzarli nel formato di output indicato.When input and output data sets both have different file formats or different configurations, like delimiters, the data movement service deserializes source data to stream, transform, and then serialize it into the output format you indicated. Questa operazione comporta un overhead delle prestazioni decisamente maggiore rispetto ad altri scenari.This operation results in a much more significant performance overhead compared to other scenarios.
  • Quando si copiano file da e in un archivio dati che non è basato su file, ad esempio da un archivio basato su file in un archivio relazionale, il passaggio di serializzazione o deserializzazione è necessario.When you copy files to/from a data store that is not file-based (for example, from a file-based store to a relational store), the serialization or deserialization step is required. Questo passaggio comporta un notevole overhead delle prestazioni.This step results in significant performance overhead.

Formato di file: il formato di file scelto può influire sulle prestazioni di copia.File format: The file format you choose might affect copy performance. Ad esempio, Avro è un formato binario compresso che archivia i metadati con i dati.For example, Avro is a compact binary format that stores metadata with data. È ampiamente supportato nell'ecosistema di Hadoop per l'elaborazione e l'esecuzione di query.It has broad support in the Hadoop ecosystem for processing and querying. Avro è tuttavia più costoso a livello di serializzazione e deserializzazione e di conseguenza la velocità effettiva di copia risulta inferiore rispetto al formato testo.However, Avro is more expensive for serialization and deserialization, which results in lower copy throughput compared to text format. Scegliere il formato di file per tutto il flusso di elaborazione a livello globale.Make your choice of file format throughout the processing flow holistically. Considerare prima di tutto il formato in cui i dati vengono salvati nell'archivio dati di origine o devono essere estratti dai sistemi esterni, il formato migliore per l'archiviazione, l'elaborazione analitica e le query e il formato in cui i dati devono essere esportati nei data mart per gli strumenti di creazione di report e visualizzazione.Start with what form the data is stored in, source data stores or to be extracted from external systems; the best format for storage, analytical processing, and querying; and in what format the data should be exported into data marts for reporting and visualization tools. A volte un formato di file non ottimale dal punto di vista delle prestazioni di lettura e scrittura può invece essere una buona scelta dal punto di vista del processo analitico generale.Sometimes a file format that is suboptimal for read and write performance might be a good choice when you consider the overall analytical process.

Considerazioni sulla compressioneConsiderations for compression

Quando il set di dati di input o di output è un file, è possibile impostare l'attività di copia per l'esecuzione della compressione o decompressione durante la scrittura dei dati nella destinazione.When your input or output data set is a file, you can set Copy Activity to perform compression or decompression as it writes data to the destination. La scelta della compressione comporta un compromesso tra input/output (I/O) e CPU.When you choose compression, you make a tradeoff between input/output (I/O) and CPU. La compressione dei dati ha un costo maggiore in termini di risorse di calcolo,Compressing the data costs extra in compute resources. ma riduce l'I/O di rete e l'archiviazione.But in return, it reduces network I/O and storage. A seconda dei dati, si potrebbe riscontrare un aumento della velocità effettiva di copia complessiva.Depending on your data, you may see a boost in overall copy throughput.

Codec: Ogni codec di compressione presenta dei vantaggi.Codec: Each compression codec has advantages. Ad esempio, bzip2 ha la velocità effettiva copia più bassa, ma offre prestazioni di query Hive migliori perché permette di dividerle per l'elaborazione.For example, bzip2 has the lowest copy throughput, but you get the best Hive query performance with bzip2 because you can split it for processing. Gzip è l'opzione più bilanciata e quella usata più di frequente.Gzip is the most balanced option, and it is used the most often. Scegliere il codec più adatto allo scenario end-to-end personalizzato.Choose the codec that best suits your end-to-end scenario.

Livello: per ogni codec di compressione è possibile scegliere tra due opzioni, la compressione più veloce e la compressione ottimale.Level: You can choose from two options for each compression codec: fastest compressed and optimally compressed. L'opzione di compressione più veloce comprime i dati il più rapidamente possibile, anche se il file risultante non viene compresso in modo ottimale.The fastest compressed option compresses the data as quickly as possible, even if the resulting file is not optimally compressed. L'opzione di compressione ottimale impiega più tempo per la compressione e restituisce una quantità minima di dati.The optimally compressed option spends more time on compression and yields a minimal amount of data. È possibile testare entrambe le opzioni per verificare quale offra le migliori prestazioni complessive in base alle proprie esigenze.You can test both options to see which provides better overall performance in your case.

Una considerazione: per copiare una grande quantità di dati tra un archivio locale e il cloud, è consigliabile usare una copia di staging con compressione abilitata.A consideration: To copy a large amount of data between an on-premises store and the cloud, consider using Staged copy with compression enabled. L'uso di un archivio provvisorio risulta utile quando la larghezza di banda della rete aziendale e i servizi di Azure pongono dei limiti e i set di dati di input e di output devono essere in formato non compresso.Using interim storage is helpful when the bandwidth of your corporate network and your Azure services is the limiting factor, and you want the input data set and output data set both to be in uncompressed form.

Considerazioni sul mapping di colonneConsiderations for column mapping

È possibile impostare la proprietà columnMappings nell'attività di copia perché venga eseguito il mapping di tutte o di un subset delle colonne di input alle colonne di output.You can set the columnMappings property in Copy Activity to map all or a subset of the input columns to the output columns. Dopo aver letto i dati dall'origine, il servizio di spostamento dati deve eseguire il mapping delle colonne sui dati prima di scriverli nel sink.After the data movement service reads the data from the source, it needs to perform column mapping on the data before it writes the data to the sink. Questa ulteriore elaborazione riduce la velocità effettiva di copia.This extra processing reduces copy throughput.

Se l'archivio dati di origine è disponibile per query, ad esempio nel caso di un archivio relazionale come il database SQL o SQL Server, oppure nel caso di un archivio NoSQL come un archivio tabelle o Azure Cosmos DB, è consigliabile eseguire il push della logica di filtro e riordinamento colonne per la proprietà query anziché usare il mapping colonne.If your source data store is queryable, for example, if it's a relational store like SQL Database or SQL Server, or if it's a NoSQL store like Table storage or Azure Cosmos DB, consider pushing the column filtering and reordering logic to the query property instead of using column mapping. In questo modo la proiezione si verifica quando il servizio di spostamento dati legge i dati dall'archivio dati di origine, in cui è molto più efficiente.This way, the projection occurs while the data movement service reads data from the source data store, where it is much more efficient.

Informazioni sul mapping dello schema dell'attività di copia.Learn more from Copy Activity schema mapping.

Altre considerazioniOther considerations

Se i dati da copiare sono di grandi dimensioni, è possibile modificare la logica di business per partizionare ulteriormente i dati e pianificare l'attività di copia in modo che venga eseguita più frequentemente, riducendo così le dimensioni dei dati per ogni esecuzione dell'attività di copia.If the size of data you want to copy is large, you can adjust your business logic to further partition the data and schedule Copy Activity to run more frequently to reduce the data size for each Copy Activity run.

Prestare attenzione al numero di set di dati e di attività di copia che richiedono la connessione di Data Factory allo stesso archivio dati nello stesso momento.Be cautious about the number of data sets and copy activities requiring Data Factory to connect to the same data store at the same time. Molti processi di copia simultanei possono limitare un archivio dati e causare un peggioramento delle prestazioni, nuovi tentativi interni dei processi di copia e, in alcuni casi, errori di esecuzione.Many concurrent copy jobs might throttle a data store and lead to degraded performance, copy job internal retries, and in some cases, execution failures.

Scenario di esempio: copiare da un'istanza locale di SQL Server in un archivio BLOBSample scenario: Copy from an on-premises SQL Server to Blob storage

Scenario: viene compilata una pipeline per copiare dati da un'istanza locale di SQL Server in un archivio BLOB in formato CSV.Scenario: A pipeline is built to copy data from an on-premises SQL Server to Blob storage in CSV format. Per velocizzare il processo di copia, i file CSV devono essere compressi in formato bzip2.To make the copy job faster, the CSV files should be compressed into bzip2 format.

Test e analisi: la velocità effettiva dell'attività di copia è inferiore a 2 Mbps ed è molto inferiore al benchmark delle prestazioni.Test and analysis: The throughput of Copy Activity is less than 2 MBps, which is much slower than the performance benchmark.

Analisi e ottimizzazione delle prestazioni: per risolvere il problema delle prestazioni, occorre vedere prima di tutto come vengono elaborati e spostati i dati.Performance analysis and tuning: To troubleshoot the performance issue, let’s look at how the data is processed and moved.

  1. Lettura dei dati: il runtime di integrazione apre una connessione a SQL Server e invia la query.Read data: Integration runtime opens a connection to SQL Server and sends the query. SQL Server risponde inviando il flusso di dati al runtime di integrazione tramite Intranet.SQL Server responds by sending the data stream to integration runtime via the intranet.
  2. Serializzazione e compressione dei dati: il runtime di integrazione serializza il flusso dei dati in formato CSV e comprime i dati in un flusso bzip2.Serialize and compress data: Integration runtime serializes the data stream to CSV format, and compresses the data to a bzip2 stream.
  3. Scrittura dei dati: il runtime di integrazione carica il flusso bzip2 in Archiviazione BLOB tramite Internet.Write data: Integration runtime uploads the bzip2 stream to Blob storage via the Internet.

Come si può notare, i dati vengono elaborati e spostati in base a un flusso sequenziale: SQL Server > LAN > Runtime di integrazione > WAN > Archiviazione BLOB.As you can see, the data is being processed and moved in a streaming sequential manner: SQL Server > LAN > Integration runtime > WAN > Blob storage. Le prestazioni complessive vengono controllate dalla velocità effettiva minima in tutta la pipeline.The overall performance is gated by the minimum throughput across the pipeline.

Flusso di dati

Uno o più dei fattori seguenti possono provocare un collo di bottiglia nelle prestazioni:One or more of the following factors might cause the performance bottleneck:

  • Origine: SQL Server ha di per sé una velocità effettiva bassa a causa dei carichi elevati.Source: SQL Server itself has low throughput because of heavy loads.
  • Runtime di integrazione self-hosted:Self-hosted Integration Runtime:
    • LAN: il runtime di integrazione è distante da SQL Server con una connessione a larghezza di banda bassa.LAN: Integration runtime is located far from the SQL Server machine and has a low-bandwidth connection.
    • Runtime di integrazione: il runtime di integrazione ha raggiunto i relativi limiti di carico per eseguire queste operazioni:Integration runtime: Integration runtime has reached its load limitations to perform the following operations:
      • Serializzazione: la serializzazione del flusso di dati in formato CSV ha una velocità effettiva bassa.Serialization: Serializing the data stream to CSV format has slow throughput.
      • Compressione: si è scelto un codec di compressione lenta, ad esempio bzip2 a 2,8 Mbps con core i7.Compression: You chose a slow compression codec (for example, bzip2, which is 2.8 MBps with Core i7).
    • WAN: la larghezza di banda tra la rete aziendale e i servizi di Azure è bassa, ad esempio T1 = 1.544 Kbps e T2 = 6.312 Kbps.WAN: The bandwidth between the corporate network and your Azure services is low (for example, T1 = 1,544 kbps; T2 = 6,312 kbps).
  • Sink: l'archivio BLOB ha una velocità effettiva bassa.Sink: Blob storage has low throughput. Questo scenario è poco probabile perché il relativo contratto di servizio garantisce un minimo di 60 Mbps.(This scenario is unlikely because its SLA guarantees a minimum of 60 MBps.)

In tal caso, la compressione dati bzip2 potrebbe rallentare l'intera pipeline.In this case, bzip2 data compression might be slowing down the entire pipeline. Il passaggio al codec di compressione gzip può ridurre questo collo di bottiglia.Switching to a gzip compression codec might ease this bottleneck.

riferimentoReference

Di seguito sono riportati alcuni riferimenti sul monitoraggio e l'ottimizzazione delle prestazioni per alcuni degli archivi dati supportati:Here is performance monitoring and tuning references for some of the supported data stores:

Passaggi successiviNext steps

Vedere gli altri articoli relativi all'attività di copia:See the other Copy Activity articles: