Guide sur les performances et le réglage de l’activité de copieCopy activity performance and tuning guide

L’activité de copie Azure Data Factory offre une solution de chargement de données de premier ordre, sécurisée, fiable et hautes performances.The Azure Data Factory copy activity delivers a first-class secure, reliable, and high-performance data loading solution. Vous pouvez l’utiliser pour copier des dizaines de téraoctets de données tous les jours entre une grande variété de banques de données cloud et locales.You can use it to copy tens of terabytes of data every day across a rich variety of cloud and on-premises data stores. Les performances de chargement des données rapides constituent la clé vous permettant de vous concentrer sur le problème Big Data principal : créer des solutions d’analyse avancées et obtenir des informations approfondies à l’aide de toutes ces données.Fast data-loading performance is key to ensure that you can focus on the core big data problem: building advanced analytics solutions and getting deep insights from all that data.

Azure fournit un ensemble de solutions de stockage de données et d’entrepôt de données d’entreprise.Azure provides a set of enterprise-grade data storage and data warehouse solutions. L’activité de copie offre une expérience de chargement de données hautement optimisé simple à configurer et à paramétrer.The copy activity offers a highly optimized data loading experience that's easy to configure and set up. Avec une seule activité de copie, vous pouvez charger des données dans :With a single copy activity, you can load data into:

  • Azure SQL Data Warehouse à 1,2 Gbit/s.Azure SQL Data Warehouse at 1.2 GBps.
  • Stockage d’objets blob Azure à 1,0 Gbit/s.Azure Blob storage at 1.0 GBps.
  • Azure Data Lake Store à 1,0 Gbit/s.Azure Data Lake Store at 1.0 GBps.

Cet article aborde les points suivants :This article describes:

Notes

Si vous n’êtes pas familiarisé avec l’activité de copie, consultez la vue d’ensemble de l’activité de copie avant de lire cet article.If you aren't familiar with the copy activity in general, see the copy activity overview before you read this article.

Performances de référencePerformance reference

À titre de référence, le tableau suivant décrit la valeur de débit de copie en Mbits/s pour les paires de source et de récepteur données durant une seule exécution de l’activité de copie à partir de tests internes.As a reference, the following 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. À des fins de comparaison, il montre également comment les différents paramètres des unités d’intégration de données ou d’extensibilité du runtime d’intégration auto-hébergé (plusieurs nœuds) peuvent améliorer les performances de la copie.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 des performances

Important

Lorsqu’une activité de copie s’exécute sur un runtime d’intégration Azure, le nombre minimal d’unités d’intégration de données (auparavant appelées Unités de déplacement de données) autorisé est de deux.When the copy activity runs on an Azure integration runtime, the minimal allowed Data Integration Units (formerly known as Data Movement Units) is two. S’il n’est pas spécifié, consultez les unités d’intégration de données par défaut utilisées dans Unités d’intégration de données.If not specified, see the default Data Integration Units being used in Data Integration Units.

Points à noter :Points to note:

  • Le débit est calculé à l’aide de la formule suivante : [taille des données lues à partir de la source]/[durée d’exécution de l’activité de copie].Throughput is calculated by using the following formula: [size of data read from source]/[copy activity run duration].
  • Les chiffres de référence des performances dans le tableau ont été mesurés à l’aide du jeu de données TPC-H durant une seule exécution de l’activité de copie.The performance reference numbers in the table were measured by using a TPC-H dataset in a single copy activity run. Les fichiers de test des banques basées sur fichier sont constitués de plusieurs fichiers d’une taille de 10 Go.Test files for file-based stores are multiple files with 10 GB in size.
  • Dans le cas de banques de données Azure, la source et le récepteur sont dans la même région Azure.In Azure data stores, the source and sink are in the same Azure region.
  • Pour une copie hybride entre des banques de données en local et dans le cloud, chaque nœud de runtime d’intégration auto-hébergé était exécuté sur un ordinateur isolé de la banque de données et présentant les caractéristiques suivantes.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 the following specification. Lorsqu’une seule activité était exécutée, l’opération de copie n’a utilisé qu’une petite partie du processeur ou de la mémoire de l’ordinateur de test, ou de la bande passante réseau.When a single activity was running, the copy operation consumed only a small portion of the test machine's CPU, memory, or network bandwidth.
    UCCPU 32 cœurs 2,20 GHz Intel Xeon E5-2660 v232 cores 2.20 GHz Intel Xeon E5-2660 v2
    MémoireMemory 128 Go128 GB
    RéseauNetwork Interface Internet : 10 Gbits/s ; interface intranet : 40 Gbits/sInternet interface: 10 Gbps; intranet interface: 40 Gbps

Conseil

Vous pouvez augmenter le débit en utilisant plus d’unités d’intégration de données.You can achieve higher throughput by using more DIUs. Par exemple, avec 100 unités d’intégration de données, vous pouvez copier des données depuis le stockage d’objets blob Azure dans Azure Data Lake Store à un débit de 1,0 Gbit/s.For example, with 100 DIUs, you can copy data from Azure Blob storage into Azure Data Lake Store at 1.0 GBps. Pour plus d’informations sur cette fonctionnalité et sur le scénario pris en charge, consultez la section Unités d’intégration de données.For more information about this feature and the supported scenario, see the Data Integration Units section.

Unités d’intégration de donnéesData Integration Units

Une unité d’intégration de données est une mesure qui représente la puissance (combinaison de l’allocation de ressources de processeur, de mémoire et de réseau) d’une seule unité dans Azure Data Factory.A Data Integration Unit is a measure that represents the power (a combination of CPU, memory, and network resource allocation) of a single unit in Azure Data Factory. Une unité d’intégration de données s’applique seulement à Azure Integration Runtime, et non pas au runtime d’intégration auto-hébergé.Data Integration Unit only applies to Azure integration runtime, but not self-hosted integration runtime.

Les unités d’intégration de données minimales pour dynamiser l’exécution d’une activité de copie est de deux.The minimal DIUs to empower a copy activity run is two. S’il n’est pas spécifié, le tableau suivant répertorie les unités d’intégration de données par défaut utilisées dans différents scénarios de copie :If not specified, the following table lists the default DIUs used in different copy scenarios:

Scénario de copieCopy scenario Unités d’intégration de données par défaut déterminées par serviceDefault DIUs determined by service
Copie de données entre des magasins basés sur des fichiersCopy data between file-based stores Entre 4 et 32, selon le nombre et la taille des fichiersBetween 4 and 32 depending on the number and size of the files
Copie de données dans Azure SQL Database ou Azure Cosmos DBCopy data to Azure SQL Database or Azure Cosmos DB Entre 4 et 16, selon le niveau d’Azure SQL Database ou de Cosmos DB récepteur (nombre d’unités d’intégration de données/unités de requête)Between 4 and 16 depending on the sink Azure SQL Database's or Cosmos DB's tier (number of DTUs/RUs)
Tous les autres scénarios de copieAll the other copy scenarios 44

Pour remplacer cette valeur par défaut, spécifiez comme suit une valeur pour la propriété dataIntegrationUnits.To override this default, specify a value for the dataIntegrationUnits property as follows. Les valeurs autorisées pour la propriété dataIntegrationUnits vont jusqu’à 256.The allowed values for the dataIntegrationUnits property is up to 256. Le nombre réel d’unités d’intégration de données que l’opération de copie utilise au moment de l’exécution est égal ou inférieur à la valeur configurée, en fonction de votre modèle de données.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. Pour plus d’informations sur le niveau de gain de performances que vous pouvez obtenir lorsque vous configurez plusieurs unités pour une source et un récepteur de copie spécifiques, voir Performances de référence.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.

Vous pouvez voir les unités d’intégration de données utilisées pour chaque exécution de copie dans la sortie de l’activité de copie lors de l’analyse d’une exécution d’activité.You can see the DIUs used for each copy run in the copy activity output when you monitor an activity run. Pour plus d’informations, consultez Surveillance de l’activité de copie.For more information, see Copy activity monitoring.

Notes

Pour l’instant, un nombre d’unités d’intégration de données supérieur à quatre s’applique uniquement lorsque vous copiez plusieurs fichiers à partir du Stockage Azure, d’Azure Data Lake Storage, d’Amazon S3, de Google Cloud Storage, d’un FTP cloud ou d’un SFTP cloud vers d’autres banques de données cloud.Setting of DIUs larger than four currently applies only when you copy multiple files from Azure Storage, Azure Data Lake Storage, Amazon S3, Google Cloud Storage, cloud FTP, or cloud SFTP to any other cloud data stores.

ExempleExample

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

Impact des unités d’intégration de données sur la facturationData Integration Units billing impact

Gardez à l’esprit que vous êtes facturé selon la durée totale de l’opération de copie.Remember that you're charged based on the total time of the copy operation. La durée totale de déplacement de données qui vous est facturée correspond à la somme de la durée de toutes les unités d’intégration de données.The total duration you're billed for data movement is the sum of duration across DIUs. Si un travail de copie prenait auparavant une heure avec deux unités cloud et qu’il prend maintenant 15 minutes avec huit unités cloud, le montant total de la facture reste identique.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.

Copie en parallèleParallel copy

Vous pouvez utiliser la propriété parallelCopies pour indiquer le parallélisme que vous voulez que l’activité de copie utilise.You can use the parallelCopies property to indicate the parallelism that you want the copy activity to use. Vous pouvez penser cette propriété comme le nombre maximum de threads dans une activité de copie qui peut lire dans votre source ou écrire dans vos banques de données réceptrices en parallèle.You can think of this property as the maximum number of threads within the copy activity that can read from your source or write to your sink data stores in parallel.

Pour chaque exécution d’activité de copie, Azure Data Factory détermine le nombre de copies en parallèle à utiliser pour copier les données depuis la banque de données source et vers la banque de données de destination.For each copy activity run, Azure Data Factory determines the number of parallel copies to use to copy data from the source data store and to the destination data store. Le nombre de copies en parallèle par défaut qu’il utilise dépend du type de source et de récepteur que vous utilisez.The default number of parallel copies that it uses depends on the type of source and sink that you use.

Scénario de copieCopy scenario Nombre de copie en parallèle par défaut déterminé par le serviceDefault parallel copy count determined by service
Copie de données entre des magasins basés sur des fichiersCopy data between file-based stores Dépend de la taille des fichiers et du nombre d’unités d’intégration de données utilisées pour copier des données entre les deux banques de données cloud, ou de la configuration physique de l’ordinateur du runtime d’intégration auto-hébergé.Depends on the size of the files and the number of DIUs used to copy data between two cloud data stores, or the physical configuration of the self-hosted integration runtime machine.
Copie de données de n’importe quelle banque source vers le stockage Table AzureCopy data from any source store to Azure Table storage 44
Tous les autres scénarios de copieAll other copy scenarios 11

Conseil

Lorsque vous copiez des données entre banques basées sur fichier, le comportement par défaut offre généralement le meilleur débit.When you copy data between file-based stores, the default behavior usually gives you the best throughput. Le comportement par défaut est déterminé automatiquement en fonction de votre modèle de fichier source.The default behavior is auto-determined based on your source file pattern.

Pour contrôler la charge sur les machines qui hébergent vos banques de données ou pour optimiser les performances de copie, vous pouvez remplacer la valeur par défaut et spécifier une valeur pour la propriété parallelCopies.To control the load on machines that host your data stores, or to tune copy performance, you can override the default value and specify a value for the parallelCopies property. La valeur doit être un nombre entier supérieur ou égal à 1.The value must be an integer greater than or equal to 1. Au moment de l’exécution, pour des performances optimales, l’activité de copie utilise une valeur inférieure ou égale à la valeur que vous avez définie.At run time, for the best performance, the 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
        }
    }
]

Points à noter :Points to note:

  • Lorsque vous copiez des données entre des banques basées sur fichier, parallelCopies détermine le parallélisme au niveau du fichier.When you copy data between file-based stores, parallelCopies determines the parallelism at the file level. La segmentation dans un seul fichier se produit en arrière-plan de manière automatique et transparente.The chunking within a single file happens underneath automatically and transparently. Elle est conçue pour utiliser la meilleure taille de segment appropriée pour un type de banque de données source donnée pour charger des données de manière parallèle et orthogonale à la valeur parallelCopies.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. Le nombre réel de copies en parallèle que le service de déplacement de données utilise pour l’opération de copie au moment de l’exécution ne peut pas être supérieur au nombre de fichiers dont vous disposez.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. Si le comportement de copie est défini sur mergeFile, l’activité de copie ne peut pas tirer parti du parallélisme au niveau du fichier.If the copy behavior is mergeFile, the copy activity can't take advantage of file-level parallelism.
  • Lorsque vous copiez des données à partir de magasins qui ne sont pas basés sur des fichiers (sauf Oracle, Teradata, SAP Table et le connecteur SAP Open Hub en tant que source avec le partitionnement des données activé) vers des magasins qui sont basés sur des fichiers, le service de déplacement des données ignore la propriété parallelCopies.When you copy data from stores that are not file-based (except Oracle, Teradata, SAP Table, and SAP Open Hub connector as source with data partitioning enabled) to stores that are file-based, the data movement service ignores the parallelCopies property. Même si le parallélisme est spécifié, il n’est pas appliqué dans ce cas.Even if parallelism is specified, it's not applied in this case.
  • La propriété parallelCopies est orthogonale par rapport à dataIntegrationUnits.The parallelCopies property is orthogonal to dataIntegrationUnits. La première valeur est calculée à partir de toutes les unités d’intégration de données.The former is counted across all the Data Integration Units.
  • Lorsque vous spécifiez une valeur pour la propriété parallelCopies, songez à l’augmentation de la charge sur vos banques de données source et réceptrice.When you specify a value for the parallelCopies property, consider the load increase on your source and sink data stores. Envisagez également l’augmentation de la charge pour le runtime d’intégration auto-hébergé si l’activité de copie repose sur celui-ci, par exemple, pour une copie hybride.Also consider the load increase to the self-hosted integration runtime if the copy activity is empowered by it, for example, for hybrid copy. Cela se produit en particulier lorsque plusieurs activités ou exécutions simultanées des mêmes activités ont lieu en même temps dans la même banque de données.This load increase happens especially when you have multiple activities or concurrent runs of the same activities that run against the same data store. Si vous remarquez que la banque de données ou le runtime d’intégration auto-hébergé est submergé par la charge, diminuez la valeur parallelCopies pour alléger la charge.If you notice that either the data store or the self-hosted integration runtime is overwhelmed with the load, decrease the parallelCopies value to relieve the load.

copie intermédiaireStaged copy

Lorsque vous copiez des données entre une banque de données source et une banque de données réceptrice, vous pouvez choisir d’utiliser le stockage Blob comme banque intermédiaire.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 fonctionnalité intermédiaire est particulièrement utile dans les cas suivants :Staging is especially useful in the following cases:

  • Vous voulez recevoir des données à partir de diverses banques de données dans SQL Data Warehouse via PolyBase.You want to ingest data from various data stores into SQL Data Warehouse via PolyBase. SQL Data Warehouse utilise PolyBase comme un mécanisme de haut débit pour charger des données volumineuses dans SQL Data Warehouse.SQL Data Warehouse uses PolyBase as a high-throughput mechanism to load a large amount of data into SQL Data Warehouse. La source de données doit se trouver dans le stockage d’objets blob ou Azure Data Lake Store, et se conformer à des critères supplémentaires.The source data must be in Blob storage or Azure Data Lake Store, and it must meet additional criteria. Lorsque vous chargez des données à partir d’un magasin de données autre que le stockage Blob ou Azure Data Lake Store, vous pouvez activer la copie de données via un stockage Blob intermédiaire.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. Dans ce cas, Azure Data Factory effectue les transformations de données requises pour garantir la conformité vis-à-vis des exigences de PolyBase.In that case, Azure Data Factory performs the required data transformations to ensure that it meets the requirements of PolyBase. Ensuite, il utilise PolyBase pour charger efficacement des données dans SQL Data Warehouse.Then it uses PolyBase to load data into SQL Data Warehouse efficiently. Pour plus d’informations, consultez Utiliser PolyBase pour charger des données dans Azure SQL Data Warehouse.For more information, see Use PolyBase to load data into Azure SQL Data Warehouse.
  • Il peut être assez long parfois d’effectuer des déplacements de données hybrides (c’est-à-dire, de copier à partir d’une banque de données locale vers une banque de données cloud) sur une connexion réseau lente.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. Pour améliorer les performances, vous pouvez utiliser une copie intermédiaire pour compresser les données locales afin de réduire le temps nécessaire pour déplacer des données vers la banque de données intermédiaire dans le cloud.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. Ensuite, vous pouvez décompresser les données dans la banque intermédiaire avant de charger dans la banque de données de destination.Then you can decompress the data in the staging store before you load into the destination data store.
  • Vous ne souhaitez pas ouvrir des ports autres que le port 80 et le port 443 dans votre pare-feu, en raison des stratégies informatiques d’entreprise.You don't want to open ports other than port 80 and port 443 in your firewall because of corporate IT policies. Par exemple, lorsque vous copiez des données d’une banque de données locale vers un récepteur Azure SQL Database ou un récepteur Azure SQL Data Warehouse, vous devez activer les communications TCP sortantes sur le port 1433 pour le pare-feu Windows et votre pare-feu d’entreprise.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. Dans ce scénario, une copie intermédiaire peut tirer parti de la passerelle du runtime d’intégration auto-hébergé pour commencer par copier les données dans une instance de stockage blob intermédiaire via HTTP ou HTTPS sur le port 443.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. Ensuite, elle peut charger les données dans SQL Database ou SQL Data Warehouse à partir du stockage d’objet blob intermédiaire.Then it can load the data into SQL Database or SQL Data Warehouse from Blob storage staging. Dans ce flux, vous n’avez pas besoin d’activer le port 1433.In this flow, you don't need to enable port 1433.

Fonctionnement de la copie intermédiaireHow staged copy works

Lorsque vous activez la fonctionnalité intermédiaire, les données sont d’abord copiées à partir du magasin de données source vers le stockage Blob intermédiaire (indiquez le vôtre).When you activate the staging feature, first the data is copied from the source data store to the staging Blob storage (bring your own). Ensuite, les données sont copiées à partir de la banque de données intermédiaire dans la banque de données de réceptrice.Next, the data is copied from the staging data store to the sink data store. Azure Data Factory gère automatiquement le flux à deux étapes pour vous.Azure Data Factory automatically manages the two-stage flow for you. Azure Data Factory nettoie également les données temporaires du stockage intermédiaire une fois le déplacement de données terminé.Azure Data Factory also cleans up temporary data from the staging storage after the data movement is complete.

copie intermédiaire

Lorsque vous activez le déplacement de données à l’aide d’une banque de données intermédiaire, vous pouvez indiquer si vous souhaitez compresser les données avant de les déplacer de la banque de données source vers une banque de données intermédiaire, et les décompresser avant leur transfert d’une banque de données intermédiaire vers une banque de données réceptrice.When you activate data movement by using a staging store, you can specify whether you want the data to be compressed before you move data from the source data store to an interim or staging data store and then decompressed before you move data from an interim or staging data store to the sink data store.

Actuellement, vous ne pouvez pas copier des données entre deux banques de données qui sont connectées via différents runtimes d’intégration auto-hébergés, ni avec ni sans copie intermédiaire.Currently, you can't copy data between two data stores that are connected via different Self-hosted IRs, neither with nor without staged copy. Dans ce scénario, vous pouvez configurer deux activités de copie explicitement chaînées pour copier à partir de la source dans la banque intermédiaire, puis de la banque intermédiaire dans la banque réceptrice.For such scenario, you can configure two explicitly chained copy activity to copy from source to staging then from staging to sink.

ConfigurationConfiguration

Configurez le paramètre enableStaging sur l’activité de copie pour spécifier si vous souhaitez que les données soient placées dans un stockage d’objets blob intermédiaire avant d’être chargées dans une banque de données de destination.Configure the enableStaging setting in the copy activity to specify whether you want the data to be staged in Blob storage before you load it into a destination data store. Lorsque vous définissez enableStaging sur TRUE, spécifiez les propriétés supplémentaires répertoriées dans le tableau suivant.When you set enableStaging to TRUE, specify the additional properties listed in the following table. Vous devez créer un Stockage Azure ou un service lié à la signature d’accès partagé du stockage pour le stockage intermédiaire si vous n’en avez pas.You also need to create an Azure Storage or Storage shared access signature-linked service for staging if you don’t have one.

PropriétéProperty DescriptionDescription Valeur par défautDefault value ObligatoireRequired
enableStagingenableStaging Indiquez si vous souhaitez copier les données via un magasin de données intermédiaire.Specify whether you want to copy data via an interim staging store. FalseFalse NonNo
linkedServiceNamelinkedServiceName Spécifiez le nom d’un service lié AzureStorage faisant référence à l’instance de stockage que vous utilisez comme magasin de données intermédiaire.Specify the name of an AzureStorage linked service, which refers to the instance of Storage that you use as an interim staging store.

Vous ne pouvez pas utiliser le stockage avec une signature d’accès partagé pour charger les données dans SQL Data Warehouse via PolyBase.You can't use Storage with a shared access signature to load data into SQL Data Warehouse via PolyBase. Vous pouvez l’utiliser dans tous les autres scénarios.You can use it in all other scenarios.
N/AN/A Oui, quand enableStaging est défini sur TRUEYes, when enableStaging is set to TRUE
pathpath Spécifiez le chemin du stockage Blob où vous souhaitez placer les données intermédiaires.Specify the Blob storage path that you want to contain the staged data. Si vous ne renseignez pas le chemin d’accès, le service crée un conteneur pour stocker les données temporaires.If you don't provide a path, the service creates a container to store temporary data.

Ne spécifiez un chemin d’accès que si vous utilisez le stockage avec une signature d’accès partagé, ou si vous avez besoin de données temporaires dans un emplacement spécifique.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/AN/A NonNo
enableCompressionenableCompression Spécifie si les données doivent être compressées avant d’être copiées vers la destination.Specifies whether data should be compressed before it's copied to the destination. Ce paramètre réduit le volume de données transférées.This setting reduces the volume of data being transferred. FalseFalse NonNo

Notes

Si vous utilisez une copie intermédiaire avec compression activée, l’authentification du principal du service ou MSI pour le service lié d’objets blob intermédiaire n’est pas prise en charge.If you use staged copy with compression enabled, the service principal or MSI authentication for staging blob linked service isn't supported.

Voici un exemple de définition de l’activité de copie avec les propriétés qui sont décrites dans le tableau précédent :Here's a sample definition of a 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
            }
        }
    }
]

Impact sur la facturation de la copie intermédiaireStaged copy billing impact

Vous êtes facturé en fonction de deux étapes : la durée de la copie et le type de copie.You're charged based on two steps: copy duration and copy type.

  • Lorsque vous utilisez la copie intermédiaire lors d’une copie dans le cloud (qui copie des données à partir d’une banque de données cloud vers une autre banque de données cloud, les deux étapes utilisant le runtime d’intégration Azure), vous êtes facturé au prix de [somme de la durée de copie pour les étapes 1 et 2] x [prix unitaire de la copie dans le cloud].When you use staging during a cloud copy, which is copying data from a cloud data store to another cloud data store, both stages empowered by Azure integration runtime, you're charged the [sum of copy duration for step 1 and step 2] x [cloud copy unit price].
  • Lorsque vous utilisez la copie intermédiaire lors d’une copie hybride (qui copie des données à partir d’une banque de données locale vers une banque de données cloud, une étape utilisant le runtime d’intégration auto-hébergé), vous êtes facturé au prix de [durée de la copie hybride] x [prix unitaire de la copie hybride] + [durée de la copie cloud] x [prix unitaire de la copie cloud].When you use staging during a hybrid copy, which is copying data from an on-premises data store to a cloud data store, one stage empowered by a self-hosted integration runtime, you're charged for [hybrid copy duration] x [hybrid copy unit price] + [cloud copy duration] x [cloud copy unit price].

Procédure de réglage des performancesPerformance tuning steps

Effectuez cette procédure pour régler les performances de votre service Azure Data Factory avec l’activité de copie.Take these steps to tune the performance of your Azure Data Factory service with the copy activity.

  1. Établissez une ligne de base.Establish a baseline. Pendant la phase de développement, testez votre pipeline en utilisant l’activité de copie sur un échantillon de données représentatif.During the development phase, test your pipeline by using the copy activity against a representative data sample. Collectez les détails de l’exécution et les caractéristiques des performances suivant la surveillance de l’activité de copie.Collect execution details and performance characteristics following copy activity monitoring.

  2. Diagnostiquez et optimisez les performances.Diagnose and optimize performance. Si les performances que vous observez ne répondent pas à vos attentes, identifiez les goulots d’étranglement.If the performance you observe doesn't meet your expectations, identify performance bottlenecks. Ensuite, optimisez les performances pour supprimer ou réduire l’effet des goulots d’étranglement.Then, optimize performance to remove or reduce the effect of bottlenecks.

    Dans certains cas, lorsque vous exécutez une activité de copie dans Azure Data Factory, vous voyez un message « Conseils sur le réglage des performances » en haut de la page de surveillance de l’activité de copie comme indiqué dans l’exemple suivant.In some cases, when you run a copy activity in Azure Data Factory, you see a "Performance tuning tips" message on top of the copy activity monitoring page, as shown in the following example. Le message vous indique le goulot d’étranglement qui a été identifié pour l’exécution de copie donnée.The message tells you the bottleneck that was identified for the given copy run. Il vous guide également sur les modifications à apporter pour optimiser le débit de copie.It also guides you on what to change to boost copy throughput. Les conseils sur le réglage des performances fournissent actuellement des suggestions telles que :The performance tuning tips currently provide suggestions like:

    • Utilisez PolyBase lorsque vous copiez des données dans Azure SQL Data Warehouse.Use PolyBase when you copy data into Azure SQL Data Warehouse.
    • Augmentez les unités de requête Azure Cosmos DB ou les DTU (Database Throughput Units) Azure SQL Database lorsque la ressource sur le côté de la banque de données est le goulot d’étranglement.Increase Azure Cosmos DB Request Units or Azure SQL Database DTUs (Database Throughput Units) when the resource on the data store side is the bottleneck.
    • Supprimez la copie intermédiaire inutile.Remove the unnecessary staged copy.

    Les règles d'optimisation des performances seront également enrichies de façon progressive.The performance tuning rules will be gradually enriched as well.

    Exemple : Copier dans Azure SQL Database avec des conseils sur le réglage des performancesExample: Copy into Azure SQL Database with performance tuning tips

    Dans cet exemple, pendant une exécution de copie, Azure Data Factory constate qu’Azure SQL Database récepteur utilise intensivement une DTU, ce qui ralentit les opérations d’écriture.In this sample, during a copy run, Azure Data Factory notices the sink Azure SQL Database reaches high DTU utilization, which slows down the write operations. La suggestion consiste à augmenter le niveau d’Azure SQL Database avec plus de DTU.The suggestion is to increase the Azure SQL Database tier with more DTUs.

    Surveillance de la copie avec conseils d'optimisation des performances

    En outre, vous trouverez ci-dessous quelques considérations courantes.In addition, the following are some common considerations. Une description complète du diagnostic des performances dépasserait la portée de cet article.A full description of performance diagnosis is beyond the scope of this article.

  3. Étendez la configuration à l’ensemble de votre jeu de données.Expand the configuration to your entire dataset. Lorsque vous êtes satisfait des résultats et des performances de l’exécution, vous pouvez étendre la définition et le pipeline pour couvrir l’ensemble de votre jeu de données.When you're satisfied with the execution results and performance, you can expand the definition and pipeline to cover your entire dataset.

Considérations relatives au runtime d’intégration auto-hébergéConsiderations for self-hosted integration runtime

Si votre activité de copie s’exécute sur un runtime d’intégration auto-hébergé, notez les points suivants :If your copy activity runs on a self-hosted integration runtime, note the following:

Configuration : Nous vous recommandons d’utiliser un ordinateur dédié pour héberger le runtime d’intégration.Setup: We recommend that you use a dedicated machine to host integration runtime. Consultez Considérations relatives à l’utilisation d’un runtime d’intégration auto-hébergé.See Considerations for using self-hosted integration runtime.

Mise à l’échelle : Un seul runtime d’intégration auto-hébergé logique comportant un ou plusieurs nœuds peut traiter simultanément plusieurs exécutions de l’activité de copie.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. Si vous avez besoin de déplacer des données hybrides avec de nombreuses exécutions d’activité de copie simultanées ou avec un gros volume de données à copier, envisagez d’augmenter la taille des instances du runtime d’intégration auto-hébergé afin de mieux utiliser vos ressources ou de configurer plus de ressources pour répondre à vos besoins de copie.If you have heavy need on hybrid data movement either with a large number of concurrent copy activity runs or with a large volume of data to copy, consider scaling out the self-hosted integration runtime to provision more resources to empower copy.

Considérations relatives à la sourceConsiderations for the source

GénéralitésGeneral

Vérifiez que la banque de données sous-jacente n’est pas submergée par d’autres charges de travail s’exécutant dessus ou s’y rapportant.Be sure that the underlying data store isn't overwhelmed by other workloads that are running on or against it.

Pour les banques de données Microsoft, consultez les rubriques relatives à la surveillance et au réglage qui sont spécifiques aux banques de données.For Microsoft data stores, see monitoring and tuning topics that are specific to data stores. Ces rubriques peuvent vous aider à comprendre les caractéristiques des performances des banques de données et à déterminer comment réduire les temps de réponse et optimiser le débit.These topics can help you understand data store performance characteristics and how to minimize response times and maximize throughput.

Magasins de données basés sur un fichierFile-based data stores

  • Taille et quantité moyennes de fichiers: L’activité de copie transfère les données un fichier à la fois.Average file size and file count: The copy activity transfers data one file at a time. Pour une même quantité de données à déplacer, le débit global est plus lent si les données se composent de beaucoup de petits fichiers plutôt que de quelques fichiers volumineux, en raison de la phase d’amorçage nécessaire pour chaque fichier.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. Vous devez autant que possible combiner plusieurs petits fichiers en fichiers plus volumineux pour augmenter le débit.If possible, combine small files into larger files to gain higher throughput.
  • Format de fichier et compression : pour d’autres méthodes permettant d’améliorer les performances, voir les sections Considérations relatives à la sérialisation et à la désérialisation et Considérations relatives à la compression.File format and compression: For more ways to improve performance, see the Considerations for serialization and deserialization and Considerations for compression sections.

Bases de données relationnellesRelational data stores

  • Modèle de données : Votre schéma de table a des répercussions sur le débit de copie.Data pattern: Your table schema affects copy throughput. Une taille de ligne importante vous donne de meilleures performances qu’une petite taille de ligne pour copier la même quantité de données.A large row size gives you better performance than a small row size to copy the same amount of data. Raison : la base de données peut récupérer plus efficacement moins de lots de données contenant moins de lignes.The reason is that the database can more efficiently retrieve fewer batches of data that contain fewer rows.
  • Requête ou procédure stockée : Optimisez la logique de la requête ou de la procédure stockée que vous spécifiez dans la source d’activité de copie pour extraire les données plus efficacement.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.

Considérations relatives au récepteurConsiderations for the sink

GénéralitésGeneral

Vérifiez que la banque de données sous-jacente n’est pas submergée par d’autres charges de travail s’exécutant dessus ou s’y rapportant.Be sure that the underlying data store isn't overwhelmed by other workloads that are running on or against it.

Pour les banques de données Microsoft, consultez les rubriques relatives à la surveillance et au réglage qui sont spécifiques aux banques de données.For Microsoft data stores, see monitoring and tuning topics that are specific to data stores. Ces rubriques peuvent vous aider à comprendre les caractéristiques des performances des banques de données et à déterminer comment réduire les temps de réponse et optimiser le débit.These topics can help you understand data store performance characteristics and how to minimize response times and maximize throughput.

Magasins de données basés sur un fichierFile-based data stores

  • Comportement de copie: Si vous copiez des données d’une banque de données basée sur fichier différente, l’activité de copie propose trois options via la propriété copyBehavior.Copy behavior: If you copy data from a different file-based data store, the copy activity has three options via the copyBehavior property. Elle conserve la hiérarchie, aplatit la hiérarchie ou fusionne les fichiers.It preserves hierarchy, flattens hierarchy, or merges files. La conservation ou l’aplanissement de la hiérarchie entraîne peu ou pas de surcharge de performances, mais la fusion de fichiers entraîne une augmentation de la surcharge des performances.Either preserving or flattening hierarchy has little or no performance overhead, but merging files causes performance overhead to increase.
  • Format de fichier et compression : pour d’autres méthodes permettant d’améliorer les performances, voir les sections Considérations relatives à la sérialisation et à la désérialisation et Considérations relatives à la compression.File format and compression: For more ways to improve performance, see the Considerations for serialization and deserialization and Considerations for compression sections.

Bases de données relationnellesRelational data stores

  • Copier l’implication du comportement et des performances : Différentes méthodes d’écriture de données dans un récepteur SQL sont possibles.Copy behavior and performance implication: There are different ways to write data into a SQL sink. Pour en savoir plus, consultez l’article Meilleures pratiques de chargement de données dans Azure SQL Database.Learn more from Best practice for loading data into Azure SQL Database.

  • Modèle de données et taille de lot:Data pattern and batch size:

    • Votre schéma de table a des répercussions sur le débit de copie.Your table schema affects copy throughput. Pour copier une même quantité de données, une taille de ligne importante produit de meilleures performances qu’une petite taille, car la base de données peut valider plus efficacement moins de lots de données.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’activité de copie insère des données dans une série de lots.The copy activity inserts data in a series of batches. Vous pouvez définir le nombre de lignes dans un lot à l’aide de la propriété writeBatchSize .You can set the number of rows in a batch by using the writeBatchSize property. Si vos données comportent des lignes de petite taille, vous pouvez définir la propriété writeBatchSize sur une valeur plus élevée pour réduire la surcharge de traitement par lots et augmenter le débit.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. Si la taille de ligne de vos données est importante, soyez prudent lorsque vous augmentez la valeur writeBatchSize.If the row size of your data is large, be careful when you increase writeBatchSize. Une valeur élevée peut entraîner un échec de la copie en raison de la surcharge de la base de données.A high value might lead to a copy failure caused by overloading the database.

Magasins NoSQLNoSQL stores

  • Pour le Stockage Table:For Table storage:
    • Partition : l’écriture de données en partitions entrelacées dégrade considérablement les performances.Partition: Writing data to interleaved partitions dramatically degrades performance. Classez vos données sources par clé de partition afin qu’elles soient insérées efficacement partition après partition.Sort your source data by partition key so that the data is inserted efficiently into one partition after another. Vous pouvez également ajuster la logique pour écrire les données dans une seule partition.Or, you can adjust the logic to write the data to a single partition.

Considérations relatives à la sérialisation et à la désérialisationConsiderations for serialization and deserialization

Une sérialisation et une désérialisation peuvent survenir lorsque le jeu de données d’entrée ou de sortie est un fichier.Serialization and deserialization can occur when your input dataset or output dataset is a file. Pour plus d’informations sur les formats de fichier pris en charge par activité de copie, consultez Formats de fichier et de compression pris en charge.For more information on supported file formats by copy activity, see Supported file and compression formats.

Comportement de copie:Copy behavior:

  • Copie de fichiers entre banques de données basées sur fichier :Copying files between file-based data stores:
    • Lorsque les jeux de données d’entrée et de sortie ont les mêmes paramètres de format de fichier ou n’en ont aucun, le service de déplacement de données exécute une copie binaire sans sérialisation ou désérialisation.When input and output datasets both have the same or no file format settings, the data movement service executes a binary copy without any serialization or deserialization. Vous voyez un débit plus élevé par rapport au scénario, dans lequel les paramètres de format de fichier source et récepteur sont différents.You see a higher throughput compared to the scenario, in which the source and sink file format settings are different from each other.
    • Lorsque les jeux de données d’entrée et de sortie sont au format texte et que seul le type d’encodage est différent, le service de déplacement de données n’effectue que la conversion de l’encodage.When input and output datasets both are in text format and only the encoding type is different, the data movement service only does encoding conversion. Il n’effectue aucune sérialisation ni désérialisation, ce qui entraîne une surcharge de performances par rapport à la copie binaire.It doesn't do any serialization and deserialization, which causes some performance overhead compared to a binary copy.
    • Lorsque les jeux de données d’entrée et de sortie diffèrent par leur format de fichier ou leur configuration, par exemple au niveau des séparateurs, le service de déplacement de données désérialise les données sources en flux, les transforme, puis les sérialise au format de sortie que vous avez indiqué.When input and output datasets 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. Cette opération donne lieu à une surcharge des performances beaucoup plus importante par rapport à d’autres scénarios.This operation results in a much more significant performance overhead compared to other scenarios.
  • Lorsque vous copiez des fichiers vers ou à partir d’une banque de données qui n’est pas basée sur fichier (par exemple, d’une banque basée sur fichier vers une banque relationnelle), l’étape de sérialisation ou de désérialisation est requise.When you copy files to or from a data store that isn't file based, for example, from a file-based store to a relational store, the serialization or deserialization step is required. Cette étape génère une surcharge significative des performances.This step results in significant performance overhead.

Format de fichier : le format de fichier que vous choisissez peut affecter les performances de copie.File format: The file format you choose might affect copy performance. Par exemple, Avro est un format binaire compact qui stocke des métadonnées avec des données.For example, Avro is a compact binary format that stores metadata with data. Il bénéficie d’une prise en charge étendue dans l’écosystème Hadoop pour le traitement et l’interrogation.It has broad support in the Hadoop ecosystem for processing and querying. Le format Avro étant plus coûteux en sérialisation et désérialisation, le débit de copie est inférieur par rapport au format texte.Avro is more expensive for serialization and deserialization, which results in lower copy throughput compared to text format.

Choisissez votre format de fichier dans le flux de traitement de manière holistique.Make your choice of file format throughout the processing flow holistically. Commencez par :Start with:

  • La forme dans laquelle les données sont stockées, les banques de données sources ou si elles doivent être extraites de systèmes externes.What form the data is stored in, source data stores or to be extracted from external systems.
  • Le meilleur format pour le stockage, le traitement analytique et l’interrogation.The best format for storage, analytical processing, and querying.
  • Dans quel format les données doivent être exportées dans des mini-Data Warehouses pour les outils de génération de rapports et de visualisation.In what format the data should be exported into data marts for reporting and visualization tools.

Parfois, un format de fichier non optimal pour les performances en lecture et écriture peut constituer une option idéale pour le processus analytique général.Sometimes a file format that is suboptimal for read and write performance might be a good choice when you consider the overall analytical process.

Considérations relatives à la compressionConsiderations for compression

Lorsque votre jeu de données d’entrée ou de sortie est un fichier, vous pouvez définir l’activité de copie pour qu’elle effectue une compression ou une décompression lors de l’écriture de données dans la destination.When your input or output dataset is a file, you can set the copy activity to perform compression or decompression as it writes data to the destination. Lorsque vous choisissez la compression, vous trouvez un compromis entre les entrées/sorties (E/S) et le processeur.When you choose compression, you make a tradeoff between input/output (I/O) and CPU. La compression des données a un coût supplémentaire en ressources de calcul.Compressing the data costs extra in compute resources. Toutefois, en retour, elle réduit les E/S réseau et le stockage.But in return, it reduces network I/O and storage. En fonction de vos données, vous pouvez constater une augmentation du débit global de copie.Depending on your data, you might see a boost in overall copy throughput.

Codec : Chaque codec de compression présente des avantages.Codec: Each compression codec has advantages. Par exemple, bzip2 a le plus faible débit de copie, mais vous obtenez les meilleures performances de requêtes Hive avec bzip2, car vous pouvez le fractionner pour traitement.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 est l’option la plus équilibrée, et la plus souvent utilisée.Gzip is the most balanced option, and it's used the most often. Choisissez le codec le plus approprié pour votre scénario de bout en bout.Choose the codec that best suits your end-to-end scenario.

Niveau : vous avec le choix entre deux options pour chaque codec de compression, la compression la plus rapide et la compression optimale.Level: You can choose from two options for each compression codec: fastest compressed and optimally compressed. L’option de compression la plus rapide compresse les données aussi rapidement que possible, même si le fichier résultant de l’opération n’est pas compressé de façon optimale.The fastest compressed option compresses the data as quickly as possible, even if the resulting file isn't optimally compressed. L’option de compression optimale nécessite plus de temps, et produit une quantité de données minimale.The optimally compressed option spends more time on compression and yields a minimal amount of data. Vous pouvez tester les deux options pour voir celle qui offre les meilleures performances globales dans votre cas.You can test both options to see which provides better overall performance in your case.

Élément à prendre en compte : pour copier une grande quantité de données entre un magasin local et le cloud, envisagez d’utiliser la copie intermédiaire avec la compression.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’utilisation du stockage intermédiaire est utile lorsque la bande passante de votre réseau d’entreprise et de vos services Azure est le facteur limitant et que vous souhaitez que le jeu de données d’entrée et le jeu de données de sortie soient sous forme non compressée.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 dataset and output dataset both to be in uncompressed form.

Considérations relatives au mappage de colonnesConsiderations for column mapping

Vous pouvez définir la propriété columnMappings dans une activité de copie pour mapper la totalité ou un sous-ensemble des colonnes d’entrée aux colonnes de sortie.You can set the columnMappings property in a copy activity to map all or a subset of the input columns to the output columns. Une fois que le service de déplacement de données a lu les données de la source, il doit effectuer le mappage de colonnes sur les données avant d’écrire celles-ci sur le récepteur.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. Ce traitement supplémentaire réduit le débit de copie.This extra processing reduces copy throughput.

Si votre banque de données source peut faire l’objet de requêtes, par exemple, s’il s’agit d’une banque de données relationnelle telle que SQL Database ou SQL Server ou s’il ne s’agit pas d’une banque NoSQL comme le Stockage Table ou Azure Cosmos DB, envisagez d’envoyer le filtrage de colonnes et la logique de réorganisation à la propriété query , au lieu d’utiliser le mappage de colonnes.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. Ainsi, la projection survient alors que le service de déplacement de données lit les données à partir de la banque de données source, là où elle est beaucoup plus efficace.This way, the projection occurs while the data movement service reads data from the source data store, where it's much more efficient.

Pour en savoir plus, consultez Mappage de schéma de l’activité de copie.Learn more from Copy activity schema mapping.

Autres points à considérerOther considerations

Si la taille des données à copier est importante, vous pouvez ajuster votre logique métier pour partitionner davantage les données.If the size of data you want to copy is large, you can adjust your business logic to further partition the data. Vous pouvez planifier l’activité de copie pour qu’elle s’exécute plus fréquemment pour réduire la taille des données pour chaque activité de copie exécutée.You can schedule the copy activity to run more frequently to reduce the data size for each copy activity that runs.

Faites attention au nombre de jeux de données et d’activités de copie nécessitant qu’Azure Data Factory se connecte à la même banque de données en même temps.Be cautious about the number of datasets and copy activities that require Azure Data Factory to connect to the same data store at the same time. De nombreux travaux de copie simultanés peuvent limiter une banque de données, et entraîner une dégradation des performances, une multiplication des tentatives internes de travail de copie et, dans certains cas, des échecs d’exécution.Many concurrent copy jobs might throttle a data store and lead to degraded performance, copy job internal retries, and in some cases, execution failures.

Exemple de scénario : Copie depuis un SQL Server local vers le stockage d’objets blobSample scenario: Copy from an on-premises SQL server to Blob storage

Scénario : Un pipeline est conçu pour copier des données d’un serveur SQL Server local vers un stockage d’objets blob au format CSV.Scenario: A pipeline is built to copy data from an on-premises SQL server to Blob storage in CSV format. Pour accélérer la copie des travaux, les fichiers CSV doivent être compressés au format bzip2.To make the copy job faster, the CSV files should be compressed into bzip2 format.

Test et analyse : Le débit de l’activité de copie est inférieur à 2 Mbits/s, ce qui est beaucoup plus lent que le test d’évaluation des performances.Test and analysis: The throughput of the copy activity is less than 2 MBps, which is much slower than the performance benchmark.

Analyse des performances et réglage : pour résoudre le problème de performances, nous allons tout d’abord examiner la manière dont les données sont traitées et déplacées.Performance analysis and tuning: To troubleshoot the performance issue, let’s look at how the data is processed and moved.

  • Lecture des données : Le runtime d’intégration ouvre la connexion à SQL Server et envoie la requête.Read data: The integration runtime opens a connection to SQL Server and sends the query. SQL Server répond en envoyant le flux de données au runtime d’intégration via l’intranet.SQL Server responds by sending the data stream to the integration runtime via the intranet.
  • Sérialiser et compresser les données : Le runtime d’intégration sérialise le flux de données au format CSV, et compresse les données dans un flux bzip2.Serialize and compress data: The integration runtime serializes the data stream to CSV format and compresses the data to a bzip2 stream.
  • Écriture des données : Le runtime d’intégration charge le flux bzip2 vers le stockage d’objets blob via Internet.Write data: The integration runtime uploads the bzip2 stream to Blob storage via the internet.

Comme vous pouvez le voir, les données sont traitées et déplacées de manière séquentielle en continu : SQL Server > LAN > Passerelle > WAN > Stockage Blob.As you can see, the data is processed and moved in a streaming sequential manner: SQL Server > LAN > Integration runtime > WAN > Blob storage. Les performances globales sont contrôlées par le débit minimum sur le pipeline.The overall performance is gated by the minimum throughput across the pipeline.

Flux de données

Un ou plusieurs des facteurs suivants peuvent entraîner un goulot d’étranglement des performances :One or more of the following factors might cause the performance bottleneck:

  • Source : SQL Server offre lui-même un faible débit en raison des charges lourdes.Source: SQL Server itself has low throughput because of heavy loads.
  • Runtime d’intégration auto-hébergé :Self-hosted integration runtime:
    • LAN : le runtime d’intégration est éloigné de l’ordinateur SQL Server et dispose d’une connexion à faible bande passante.LAN: Integration runtime is located far from the SQL Server machine and has a low-bandwidth connection.
    • Runtime d’intégration : le runtime d’intégration a atteint ses limites de charge pour effectuer les opérations suivantes :Integration runtime: Integration runtime has reached its load limitations to perform the following operations:
      • Sérialisation : la sérialisation du flux de données au format CSV présente un débit lent.Serialization: Serializing the data stream to CSV format has slow throughput.
      • Compression : Vous avez choisi un codec de compression lent, par exemple, bzip2, c’est-à-dire 2,8 Mbits/s avec Core i7.Compression: You chose a slow compression codec, for example, bzip2, which is 2.8 MBps with Core i7.
    • WAN : La bande passante entre le réseau d’entreprise et vos services Azure est faible, par exemple, T1 = 1 544 Kbits/s ; T2 = 6 312 Kbits/s.WAN: The bandwidth between the corporate network and your Azure services is low, for example, T1 = 1,544 kbps; T2 = 6,312 kbps.
  • Récepteur : le stockage Blob a un faible débit.Sink: Blob storage has low throughput. Ce scénario est peu probable car son contrat de niveau de service (SLA) garantit un minimum de 60 Mbits/s.This scenario is unlikely because its service-level agreement (SLA) guarantees a minimum of 60 MBps.

Dans ce cas, la compression de données bzip2 pourrait ralentir l’ensemble du pipeline.In this case, bzip2 data compression might be slowing down the entire pipeline. Un basculement vers le codec de compression gzip peut résoudre ce goulot d’étranglement.Switching to a gzip compression codec might ease this bottleneck.

RéférencesReferences

Voici des références relatives à la surveillance et au réglage des performances pour quelques banques de données prises en charge :Here are performance monitoring and tuning references for some of the supported data stores:

Étapes suivantesNext steps

Consultez les autres articles relatifs à l’activité de copie :See the other copy activity articles: