Kopiera aktivitet prestanda- och justeringsguideCopy Activity performance and tuning guide

Anteckning

Den här artikeln gäller för version 1 av Data Factory.This article applies to version 1 of Data Factory. Om du använder den aktuella versionen av tjänsten Data Factory, se prestanda- och justerings guiden för kopierings aktiviteter för Data Factory.If you are using the current version of the Data Factory service, see Copy activity performance and tuning guide for Data Factory.

Azure Data Factory-Kopieringsaktiviteten levererar en förstklassig säker, tillförlitlig och höga prestanda för inläsning av data lösning.Azure Data Factory Copy Activity delivers a first-class secure, reliable, and high-performance data loading solution. Det gör att du kan kopiera tiotals terabyte data varje dag på en rad olika molnet och lokala datalager.It enables you to copy tens of terabytes of data every day across a rich variety of cloud and on-premises data stores. – Blixtsnabb prestanda för datainläsning är nyckeln till att se till att du kan fokusera på problemet core ”stordata”: bygga avancerade Analyslösningar och få djupa insikter från alla data.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 innehåller en uppsättning av företagsklass lösningar för lagring och data warehouse och Kopieringsaktivitet erbjuder en optimerad upplevelse som är lätt att göra inställningar för inläsning av data.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. Med bara en enda Kopieringsaktivitet, kan du åstadkomma:With just a single copy activity, you can achieve:

Den här artikeln beskrivs:This article describes:

Anteckning

Om du inte är bekant med kopierings aktiviteten i allmänhet, se Flytta data med hjälp av kopierings aktivitet innan du läser den här artikeln.If you are not familiar with Copy Activity in general, see Move data by using Copy Activity before reading this article.

Prestandareferens förPerformance reference

Som referens visas det kopierade data flödes numret i MBps i Mbit/s för den aktuella käll-och mottagar paret, baserat på intern testning.As a reference, below table shows the copy throughput number in MBps for the given source and sink pairs based on in-house testing. För jämförelse visar det också hur olika inställningar för moln data förflyttnings enheter eller Data Management Gateway skalbarhet (flera gateway-noder) kan hjälpa till med kopierings prestanda.For comparison, it also demonstrates how different settings of cloud data movement units or Data Management Gateway scalability (multiple gateway nodes) can help on copy performance.

Matris för prestanda

Viktigt

I Azure Data Factory version 1 är de minsta moln data flytt enheterna för moln-till-moln-kopia två.In Azure Data Factory version 1, the minimal cloud data movement units for cloud-to-cloud copy is two. Om inget värde anges, se standard enheter för data förflyttning som används i enheter för moln data flytt.If not specified, see default data movement units being used in cloud data movement units.

Poäng till Anmärkning:Points to note:

  • Dataflödet beräknas med hjälp av följande formel: [storleken på data läses från källan] / [körningen av Kopieringsaktiviteten varaktighet].Throughput is calculated by using the following formula: [size of data read from source]/[Copy Activity run duration].
  • Prestanda referens numren i tabellen mättes med hjälp av TPC-H- data uppsättning i en enda kopierings aktivitet.The performance reference numbers in the table were measured using TPC-H data set in a single copy activity run.
  • I Azure datalager finns källa och mottagare i samma Azure-region.In Azure data stores, the source and sink are in the same Azure region.
  • För Hybrid kopiering mellan lokala och molnbaserade data lager, kördes varje gateway-nod på en dator som var skild från det lokala data lagret med specifikationen nedan.For hybrid copy between on-premises and cloud data stores, each gateway node was running on a machine that was separate from the on-premises data store with below specification. När en enskild aktivitet kördes på Gateway, förbrukade kopierings åtgärden bara en liten del av test datorns processor, minne eller nätverks bandbredd.When a single activity was running on gateway, the copy operation consumed only a small portion of the test machine's CPU, memory, or network bandwidth. Lär dig mer om att tänka på Data Management Gateway.Learn more from consideration for Data Management Gateway.
    ProcessorCPU 32 kärnor 2.20 GHz Intel Xeon E5-2660 v232 cores 2.20 GHz Intel Xeon E5-2660 v2
    MinneMemory 128 GB128 GB
    NätverkNetwork Internet-gränssnittet: 10 Gbit/s; intranätgränssnittet: 40 Gbit/sInternet interface: 10 Gbps; intranet interface: 40 Gbps

Tips

Du kan få högre genomflöde genom att använda fler data rörelse enheter (DMUs) än den högsta standard DMUs, som är 32 för en kopierings aktivitet från moln till molnet.You can achieve higher throughput by leveraging more data movement units (DMUs) than the default maximum DMUs, which is 32 for a cloud-to-cloud copy activity run. Med 100 DMUs kan du till exempel få kopiera data från Azure blob till Azure Data Lake Store vid 1,0 Gbit/s.For example, with 100 DMUs, you can achieve copying data from Azure Blob into Azure Data Lake Store at 1.0GBps. Mer information om den här funktionen och det scenario som stöds finns i avsnittet Cloud data transport enheter .See the Cloud data movement units section for details about this feature and the supported scenario. Kontakta Azure-supporten om du vill begära fler DMUs.Contact Azure support to request more DMUs.

Parallell kopiaParallel copy

Du kan läsa data från källan eller skriva data till målet parallellt i en kopierings aktivitets körning.You can read data from the source or write data to the destination in parallel within a Copy Activity run. Den här funktionen förbättrar data flödet för en kopierings åtgärd och minskar den tid det tar att flytta data.This feature enhances the throughput of a copy operation and reduces the time it takes to move data.

Den här inställningen skiljer sig från egenskapen concurrency i aktivitets definitionen.This setting is different from the concurrency property in the activity definition. Egenskapen concurrency bestämmer antalet samtidiga kopierings aktiviteter som körs för att bearbeta data från olika aktivitets fönster (1 till 2 fm, 2 am till 3 am, 3, och så vidare).The concurrency property determines the number of concurrent Copy Activity runs to process data from different activity windows (1 AM to 2 AM, 2 AM to 3 AM, 3 AM to 4 AM, and so on). Den här funktionen är användbar när du utför en historisk belastning.This capability is helpful when you perform a historical load. Funktionen för parallell kopiering gäller för en enda aktivitets körning.The parallel copy capability applies to a single activity run.

Nu ska vi titta på ett exempel scenario.Let's look at a sample scenario. I följande exempel måste flera sektorer från det förflutna bearbetas.In the following example, multiple slices from the past need to be processed. Data Factory kör en instans av kopierings aktiviteten (en aktivitets körning) för varje sektor:Data Factory runs an instance of Copy Activity (an activity run) for each slice:

  • Data sektorn från det första aktivitets fönstret (1 till 2 AM) = = > aktivitet kör 1The data slice from the first activity window (1 AM to 2 AM) ==> Activity run 1
  • Data sektorn från det andra aktivitets fönstret (mellan 2 och 3 AM) = = > aktivitet kör 2The data slice from the second activity window (2 AM to 3 AM) ==> Activity run 2
  • Data sektorn från det andra aktivitets fönstret (3 till 4 AM) = = > aktivitet kör 3The data slice from the second activity window (3 AM to 4 AM) ==> Activity run 3

Och så vidare.And so on.

I det här exemplet, när samtidighets värdet är inställt på 2, körs aktivitet 1 och aktivitet kör 2 kopiera data från två aktivitets fönster samtidigt för att förbättra data flyttens prestanda.In this example, when the concurrency value is set to 2, Activity run 1 and Activity run 2 copy data from two activity windows concurrently to improve data movement performance. Men om flera filer är associerade med aktivitet kör 1, kopierar tjänsten för data flyttning filer från källan till en fil i taget.However, if multiple files are associated with Activity run 1, the data movement service copies files from the source to the destination one file at a time.

Enheter för flytt av moln dataCloud data movement units

En moln data förflyttnings enhet (DMU) är ett mått som representerar styrkan (en kombination av processor, minne och tilldelning av nätverks resurser) för en enskild enhet i Data Factory.A cloud data movement unit (DMU) is a measure that represents the power (a combination of CPU, memory, and network resource allocation) of a single unit in Data Factory. DMU kan användas för kopiering av moln till molnet, men inte i en hybrid kopia.DMU is applicable for cloud-to-cloud copy operations, but not in a hybrid copy.

De minimala moln data flytt enheterna för att kunna köra kopierings aktiviteter är två.The minimal cloud data movement units to empower Copy Activity run is two. Om detta inte anges visas standard-DMUs som används i olika kopierings scenarier i följande tabell:If not specified, the following table lists the default DMUs used in different copy scenarios:

Kopiera scenarioCopy scenario Standard DMUs som fastställs av tjänstenDefault DMUs determined by service
Kopiera data mellan filbaserade lagerCopy data between file-based stores Mellan 4 och 16 beroende på filernas antal och storlek.Between 4 and 16 depending on the number and size of the files.
Alla andra kopia-scenarierAll other copy scenarios 44

Om du vill åsidosätta standardvärdet anger du ett värde för egenskapen cloudDataMovementUnits enligt följande.To override this default, specify a value for the cloudDataMovementUnits property as follows. De tillåtna värdena för egenskapen cloudDataMovementUnits är 2, 4, 8, 16, 32.The allowed values for the cloudDataMovementUnits property are 2, 4, 8, 16, 32. Det faktiska antalet moln DMUs som kopierings åtgärden använder vid körningen är lika med eller mindre än det konfigurerade värdet, beroende på ditt data mönster.The actual number of cloud DMUs that the copy operation uses at run time is equal to or less than the configured value, depending on your data pattern. Information om nivå av prestanda som du kan få när du konfigurerar fler enheter för en specifik kopieringskälla och mottagare finns i den Prestandareferens.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.

"activities":[
    {
        "name": "Sample copy activity",
        "description": "",
        "type": "Copy",
        "inputs": [{ "name": "InputDataset" }],
        "outputs": [{ "name": "OutputDataset" }],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "cloudDataMovementUnits": 32
        }
    }
]

Anteckning

Kontakta Azure-supportenom du behöver fler moln DMUs för ett högre data flöde.If you need more cloud DMUs for a higher throughput, contact Azure support. Inställningen av 8 och senare fungerar för närvarande bara när du kopierar flera filer från Blob Storage/data Lake Store/Amazon S3/Cloud FTP/Cloud SFTP till Blob Storage/data Lake Store/Azure SQL Database.Setting of 8 and above currently works only when you copy multiple files from Blob storage/Data Lake Store/Amazon S3/cloud FTP/cloud SFTP to Blob storage/Data Lake Store/Azure SQL Database.

parallelCopiesparallelCopies

Du kan använda den parallelCopies egenskap som anger parallellitet som du vill Kopieringsaktivitet att använda.You can use the parallelCopies property to indicate the parallelism that you want Copy Activity to use. Du kan tänka på den här egenskapen som det maximala antalet trådar i Kopieringsaktiviteten som kan läsa från källan eller skriva till dina datalager för mottagare parallellt.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.

För varje körningen av Kopieringsaktiviteten, avgör hur många parallella kopior som ska använda för att kopiera data från källan datalagring och att sidan måldatalager lagra i Data Factory.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. Standard antalet parallella kopior som används beror på vilken typ av källa och mottagare du använder.The default number of parallel copies that it uses depends on the type of source and sink that you are using.

Källa och mottagareSource and sink Parallell kopia Standardantal bestäms av tjänstenDefault parallel copy count determined by service
Kopiera data mellan filbaserade arkiv (Blob Storage; Data Lake Store; Amazon S3; ett lokalt fil system; en lokal HDFS)Copy data between file-based stores (Blob storage; Data Lake Store; Amazon S3; an on-premises file system; an on-premises HDFS) Mellan 1 och 32.Between 1 and 32. Beror på storleken på filerna och antalet moln data förflyttnings enheter (DMUs) som används för att kopiera data mellan två moln data lager eller den fysiska konfigurationen för den Gateway-dator som används för en hybrid kopia (för att kopiera data till eller från ett lokalt data lager).Depends on the size of the files and the number of cloud data movement units (DMUs) used to copy data between two cloud data stores, or the physical configuration of the Gateway machine used for a hybrid copy (to copy data to or from an on-premises data store).
Kopiera data från ett käll data lager till Azure Table StorageCopy data from any source data store to Azure Table storage 44
Alla andra käll-och mottagar parAll other source and sink pairs 11

Normalt bör standard beteendet ge dig det bästa data flödet.Usually, the default behavior should give you the best throughput. Men för att kontrol lera belastningen på datorer som är värdar för dina data lager, eller för att justera kopierings prestanda, kan du välja att åsidosätta standardvärdet och ange ett värde för egenskapen parallelCopies .However, 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. Värdet måste vara mellan 1 och 32 (båda).The value must be between 1 and 32 (both inclusive). Vid körning använder för bästa prestanda Kopieringsaktiviteten ett värde som är mindre än eller lika med värdet som du anger.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",
        "description": "",
        "type": "Copy",
        "inputs": [{ "name": "InputDataset" }],
        "outputs": [{ "name": "OutputDataset" }],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "parallelCopies": 8
        }
    }
]

Saker att Observera:Points to note:

  • När du kopierar data mellan filbaserade den parallelCopies fastställa parallellitet på filnivå.When you copy data between file-based stores, the parallelCopies determine the parallelism at the file level. Dela upp inom en enda fil skulle inträffa under automatiskt och transparent och den har utformats för att använda den bästa lämpliga segmentstorleken för en viss källa datalagertyp att läsa in data i parallella program och rätvinkliga till 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. Det faktiska antalet parallella kopior av data movement service använder för att kopieringen under körning är inte fler än antalet filer som du har.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. Om kopieringsbeteendet är mergeFile, Kopieringsaktivitet inte kan utnyttja parallellitet på filnivå.If the copy behavior is mergeFile, Copy Activity cannot take advantage of file-level parallelism.
  • När du anger ett värde för egenskapen parallelCopies bör du ta hänsyn till belastnings ökningen på käll-och mottagar data lager och till gateway om det är en hybrid kopia.When you specify a value for the parallelCopies property, consider the load increase on your source and sink data stores, and to gateway if it is a hybrid copy. Detta sker särskilt när du har flera aktiviteter eller samtidiga körningar av samma aktiviteter som körs mot samma datalager.This happens especially when you have multiple activities or concurrent runs of the same activities that run against the same data store. Om du ser att data lagret eller gatewayen är överbelasta med belastningen minskar du parallelCopies -värdet för att minska belastningen.If you notice that either the data store or Gateway is overwhelmed with the load, decrease the parallelCopies value to relieve the load.
  • När du kopierar data från butiker som inte är filbaserad till datalager som är filbaserade, av data movement service ignorerar den parallelCopies egenskapen.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. Även om parallellitet anges, tillämpas den inte i det här fallet.Even if parallelism is specified, it's not applied in this case.

Anteckning

Du måste använda Data Management Gateway version 1,11 eller senare för att använda funktionen parallelCopies när du gör en hybrid kopia.You must use Data Management Gateway version 1.11 or later to use the parallelCopies feature when you do a hybrid copy.

För att bättre använda de här två egenskaperna och för att förbättra data flödet, se exempel användnings fall.To better use these two properties, and to enhance your data movement throughput, see the sample use cases. Du behöver inte konfigurera parallelCopies för att dra nytta av standard beteendet.You don't need to configure parallelCopies to take advantage of the default behavior. Om du konfigurerar och parallelCopies är för liten används kanske inte flera moln DMUs fullt ut.If you do configure and parallelCopies is too small, multiple cloud DMUs might not be fully utilized.

Fakturerings påverkanBilling impact

Den har viktiga att komma ihåg att du debiteras utifrån den totala tiden för kopieringsåtgärden.It's important to remember that you are charged based on the total time of the copy operation. Om ett kopierings jobb som används för att ta en timme med en molnen het och nu tar 15 minuter med fyra moln enheter, förblir den övergripande fakturan nästan samma.If a copy job used to take one hour with one cloud unit and now it takes 15 minutes with four cloud units, the overall bill remains almost the same. Du kan till exempel använda fyra moln enheter.For example, you use four cloud units. Den första moln enheten tillbringar 10 minuter, den andra, 10 minuter, den tredje, 5 minuter och den fjärde, 5 minuter, allt i en kopierings aktivitet.The first cloud unit spends 10 minutes, the second one, 10 minutes, the third one, 5 minutes, and the fourth one, 5 minutes, all in one Copy Activity run. Du debiteras för den totala kopierings tiden (data förflyttnings tiden), som är 10 + 10 + 5 + 5 = 30 minuter.You are charged for the total copy (data movement) time, which is 10 + 10 + 5 + 5 = 30 minutes. Att använda parallelCopies påverkar inte faktureringen.Using parallelCopies does not affect billing.

Mellanlagrad kopieringStaged copy

När du kopierar data från källans datalager till mottagarens datalager kan du välja att använda Blob storage som en mellanliggande mellanlagringsarkivet.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. Mellanlagring är särskilt användbart i följande fall:Staging is especially useful in the following cases:

  1. Du vill mata in data från olika datalager i SQL Data Warehouse via PolyBase.You want to ingest data from various data stores into SQL Data Warehouse via PolyBase. SQL Data Warehouse använder PolyBase som en mekanism för stora dataflöden för att läsa in en stor mängd data till SQL Data Warehouse.SQL Data Warehouse uses PolyBase as a high-throughput mechanism to load a large amount of data into SQL Data Warehouse. Källdata måste dock vara i Blob Storage och måste uppfylla ytterligare kriterier.However, the source data must be in Blob storage, and it must meet additional criteria. När du läser in data från ett annat data lager än Blob Storage, kan du aktivera data kopiering via tillfällig mellanlagring av blob-lagring.When you load data from a data store other than Blob storage, you can activate data copying via interim staging Blob storage. I så fall kan utför Data Factory omvandlingarna data som krävs för att säkerställa att den uppfyller kraven för PolyBase.In that case, Data Factory performs the required data transformations to ensure that it meets the requirements of PolyBase. Sedan används PolyBase för att läsa in data i SQL Data Warehouse.Then it uses PolyBase to load data into SQL Data Warehouse. Mer information finns i använda PolyBase för att läsa in data i Azure SQL Data Warehouse.For more details, see Use PolyBase to load data into Azure SQL Data Warehouse. En genomgång med ett användningsfall finns i läsa in 1 TB i Azure SQL Data Warehouse under 15 minuter med Azure Data Factory.For a walkthrough with a use case, see Load 1 TB into Azure SQL Data Warehouse under 15 minutes with Azure Data Factory.
  2. Ibland tar det en stund att utföra en hybrid data förflyttning (det vill säga kopiera mellan ett lokalt data lager och ett moln data lager) över en långsam nätverks anslutning.Sometimes it takes a while to perform a hybrid data movement (that is, to copy between an on-premises data store and a cloud data store) over a slow network connection. Du kan förbättra prestanda genom att komprimera data lokalt så att det tar mindre tid att flytta data till lagrings data lagret i molnet.To improve performance, you can compress the data on-premises so that it takes less time to move data to the staging data store in the cloud. Sedan kan du expandera data i mellanlagrings platsen innan du läser in den i mål data lagret.Then you can decompress the data in the staging store before you load it into the destination data store.
  3. Du inte vill öppna portar än port 80 och port 443 i brandväggen, på grund av företagets IT-principer.You don't want to open ports other than port 80 and port 443 in your firewall, because of corporate IT policies. När du kopierar data från ett lokalt datalager till en Azure SQL Database-mottagare eller en Azure SQL Data Warehouse sink måste aktivera utgående TCP-kommunikation på port 1433 för både Windows-brandväggen och företagets brandvägg.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. I det här scenariot kan du dra nytta av gatewayen för att först kopiera data till en mellanlagringsplats för Blob Storage via HTTP eller HTTPS på port 443.In this scenario, take advantage of the gateway to first copy data to a Blob storage staging instance over HTTP or HTTPS on port 443. Läs sedan in data i SQL Database eller SQL Data Warehouse från mellanlagring av blob-lagring.Then, load the data into SQL Database or SQL Data Warehouse from Blob storage staging. I det här flödet behöver du inte aktivera port 1433.In this flow, you don't need to enable port 1433.

Hur mellanlagrad kopiering fungerarHow staged copy works

När du aktiverar mellanlagrings funktionen kopieras först data från käll data lagret till lagrings data lagret (ta med din egen).When you activate the staging feature, first the data is copied from the source data store to the staging data store (bring your own). Därefter kopieras data från datalager för mellanlagring till datalager för mottagare.Next, the data is copied from the staging data store to the sink data store. Data Factory hanterar automatiskt två steg flödet för dig.Data Factory automatically manages the two-stage flow for you. Data Factory rensar också tillfälliga data från den tillfälliga lagringen efter att dataöverföringen har slutförts.Data Factory also cleans up temporary data from the staging storage after the data movement is complete.

I moln kopierings scenariot (både käll-och mottagar data lager finns i molnet) används inte gatewayen.In the cloud copy scenario (both source and sink data stores are in the cloud), gateway is not used. Tjänsten Data Factory utför kopierings åtgärderna.The Data Factory service performs the copy operations.

Mellanlagrad kopiering: moln scenario

I hybrid kopierings scenariot (källan är lokalt och mottagaren är i molnet) flyttar gatewayen data från käll data lagringen till ett mellanlagrat data lager.In the hybrid copy scenario (source is on-premises and sink is in the cloud), the gateway moves data from the source data store to a staging data store. Data Factory tjänst flyttar data från lagrings data lagret till data lagret för mottagare.Data Factory service moves data from the staging data store to the sink data store. Att kopiera data från ett moln data lager till ett lokalt data lager via mellanlagring, stöds också med det omvända flödet.Copying data from a cloud data store to an on-premises data store via staging also is supported with the reversed flow.

Mellanlagrad kopiering: hybrid scenario

När du aktiverar dataförflyttning med hjälp av en mellanlagringsarkivet kan ange du om du vill att data ska komprimeras innan du flyttar data från källans datalager till ett mellanliggande eller tillfälliga datalager och sedan expandera innan du flyttar data från en tiden eller organiserar data lagra till de mottagande datalagren.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.

För närvarande kan kopiera du inte data mellan två lokala datalager med hjälp av en mellanlagringsarkivet.Currently, you can't copy data between two on-premises data stores by using a staging store. Vi förväntar dig att det här alternativet ska vara tillgängligt snart.We expect this option to be available soon.

KonfigurationConfiguration

Konfigurera den enableStaging inställningen i Kopieringsaktiviteten till att ange om du vill att data ska mellanlagras i Blob storage innan du läser in dem till ett måldatalager.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. När du anger enableStaging till true anger du ytterligare egenskaper som anges i nästa tabell.When you set enableStaging to TRUE, specify the additional properties listed in the next table. Om du inte har någon kan du även behöva skapa ett Azure Storage eller Storage shared access signature-länkad tjänst för mellanlagring.If you don’t have one, you also need to create an Azure Storage or Storage shared access signature-linked service for staging.

EgenskapProperty BeskrivningDescription StandardvärdeDefault value KrävsRequired
enableStagingenableStaging Ange om du vill kopiera data via en tiden mellanlagring store.Specify whether you want to copy data via an interim staging store. FalsktFalse NejNo
linkedServiceNamelinkedServiceName Ange namnet på en länkad AzureStorage -eller AzureStorageSas -tjänst som refererar till den lagrings instans som du använder som ett interimistiskt mellanlagrings lager.Specify the name of an AzureStorage or AzureStorageSas linked service, which refers to the instance of Storage that you use as an interim staging store.

Du kan inte använda Storage med signatur för delad åtkomst för att läsa in data till SQL Data Warehouse via PolyBase.You cannot use Storage with a shared access signature to load data into SQL Data Warehouse via PolyBase. Du kan använda den i alla andra scenarier.You can use it in all other scenarios.
Gäller inteN/A Ja, när enableStaging har angetts till TRUEYes, when enableStaging is set to TRUE
pathpath Ange sökvägen för Blob-lagring som du vill ska innehålla den mellanlagrade data.Specify the Blob storage path that you want to contain the staged data. Om du inte anger en sökväg, skapar en behållare för att lagra tillfälliga data i tjänsten.If you do not provide a path, the service creates a container to store temporary data.

Ange en sökväg endast om du använder lagring med signatur för delad åtkomst, eller du kräver tillfälliga data finnas i en viss plats.Specify a path only if you use Storage with a shared access signature, or you require temporary data to be in a specific location.
Gäller inteN/A NejNo
enableCompressionenableCompression Anger om data ska komprimeras innan den kopieras till målet.Specifies whether data should be compressed before it is copied to the destination. Den här inställningen minskar mängden data som överförs.This setting reduces the volume of data being transferred. FalsktFalse NejNo

Här är en exempeldefinition av Kopieringsaktiviteten med egenskaper som beskrivs i tabellen ovan: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": [{ "name": "OnpremisesSQLServerInput" }],
    "outputs": [{ "name": "AzureSQLDBOutput" }],
    "typeProperties": {
        "source": {
            "type": "SqlSource",
        },
        "sink": {
            "type": "SqlSink"
        },
        "enableStaging": true,
        "stagingSettings": {
            "linkedServiceName": "MyStagingBlob",
            "path": "stagingcontainer/path",
            "enableCompression": true
        }
    }
}
]

Fakturerings påverkanBilling impact

Du debiteras baserat på två steg: kopiera varaktighet och typen.You are charged based on two steps: copy duration and copy type.

  • När du använder mellanlagring under en moln kopia (kopiera data från ett moln data lager till ett annat moln data lager) debiteras du [summan av kopierings tiden för steg 1 och steg 2] x [Cloud Copy Unit Price].When you use staging during a cloud copy (copying data from a cloud data store to another cloud data store), you are charged the [sum of copy duration for step 1 and step 2] x [cloud copy unit price].
  • När du använder mellanlagring under en hybrid kopiering (kopiering av data från ett lokalt data lager till ett moln data lager) debiteras du för [hybrid kopieringens varaktighet] x [hybrid kopiera enhets pris] + [moln kopieringens varaktighet] x [Cloud Copy Unit Price].When you use staging during a hybrid copy (copying data from an on-premises data store to a cloud data store), you are charged for [hybrid copy duration] x [hybrid copy unit price] + [cloud copy duration] x [cloud copy unit price].

Prestanda justering stegPerformance tuning steps

Vi rekommenderar att du gör följande för att finjustera prestanda för Data Factory-tjänsten med en Kopieringsaktivitet:We suggest that you take these steps to tune the performance of your Data Factory service with Copy Activity:

  1. Upprätta en baslinje för.Establish a baseline. Testa din pipeline med hjälp av Kopieringsaktivitet mot ett representativt datasampel under utvecklingsfasen för.During the development phase, test your pipeline by using Copy Activity against a representative data sample. Du kan använda Data Factory segmenterings modell för att begränsa den mängd data som du arbetar med.You can use the Data Factory slicing model to limit the amount of data you work with.

    Samla in körnings tid och prestanda egenskaper med hjälp av appen övervakning och hantering.Collect execution time and performance characteristics by using the Monitoring and Management App. Välj övervaka & hantera på din Data Factory start sida.Choose Monitor & Manage on your Data Factory home page. I trädvyn väljer du data uppsättningen för utdata.In the tree view, choose the output dataset. I listan aktivitets fönster väljer du kopierings aktiviteten Kör.In the Activity Windows list, choose the Copy Activity run. Aktivitets fönster visar varaktigheten för kopierings aktiviteten och storleken på de data som kopieras.Activity Windows lists the Copy Activity duration and the size of the data that's copied. Data flödet visas i Utforskaren i aktivitets fönstret.The throughput is listed in Activity Window Explorer. Mer information om appen finns i övervaka och hantera Azure Data Factory pipelines med hjälp av appen övervakning och hantering.To learn more about the app, see Monitor and manage Azure Data Factory pipelines by using the Monitoring and Management App.

    Aktivitetskörningsinformation

    Senare i artikeln kan du jämföra prestanda och konfiguration för ditt scenario för att kopiera aktivitetens prestanda referens från våra tester.Later in the article, you can compare the performance and configuration of your scenario to Copy Activity’s performance reference from our tests.

  2. Diagnostisera och optimera prestanda.Diagnose and optimize performance. Om du se prestanda inte uppfyller dina förväntningar kan behöva du identifiera flaskhalsar i prestanda.If the performance you observe doesn't meet your expectations, you need to identify performance bottlenecks. Sedan kan optimera prestanda för att ta bort eller minska effekten av flaskhalsar.Then, optimize performance to remove or reduce the effect of bottlenecks. En fullständig beskrivning av Prestandadiagnostik ligger utanför omfånget för den här artikeln, men här följer några vanliga överväganden:A full description of performance diagnosis is beyond the scope of this article, but here are some common considerations:

  3. Expandera konfigurationen till hela din datauppsättning.Expand the configuration to your entire data set. När du är nöjd med körnings resultatet och prestandan kan du expandera definitionen och den aktiva pipeline-perioden så att hela data uppsättningen täcker hela din data uppsättning.When you're satisfied with the execution results and performance, you can expand the definition and pipeline active period to cover your entire data set.

Överväganden för Data Management GatewayConsiderations for Data Management Gateway

Gateway-konfiguration: Vi rekommenderar att du använder en dedikerad dator som värd för data Management Gateway.Gateway setup: We recommend that you use a dedicated machine to host Data Management Gateway. Se överväganden vid användning av data Management Gateway.See Considerations for using Data Management Gateway.

Gateway-övervakning och skalbarhet: en enda logisk Gateway med en eller flera gateway-noder kan betjäna flera kopierings aktiviteter samtidigt samtidigt.Gateway monitoring and scale-up/out: A single logical gateway with one or more gateway nodes can serve multiple Copy Activity runs at the same time concurrently. Du kan visa en ögonblicks bild av resursutnyttjande i real tid (CPU, minne, nätverk (in/ut) osv.) på en Gateway-dator samt antalet samtidiga jobb som körs mot gränsen i Azure Portal. mer information finns i övervaka gateway i portalen.You can view near-real time snapshot of resource utilization (CPU, memory, network(in/out), etc.) on a gateway machine as well as the number of concurrent jobs running versus limit in the Azure portal, see Monitor gateway in the portal. Om du har hög behov av hybrid data förflyttning antingen med ett stort antal samtidiga kopierings aktiviteter körs eller med stor mängd data som ska kopieras, bör du överväga att skala upp eller skala ut gatewayen så att du bättre kan använda din resurs eller för att etablera mer resurs för att ge en kopia.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 up or scale out gateway so as to better utilize your resource or to provision more resource to empower copy.

Överväganden för källanConsiderations for the source

AllmäntGeneral

Var noga med att det underliggande datalagringen inte bli överhopade av andra arbetsbelastningar som körs på eller mot den.Be sure that the underlying data store is not overwhelmed by other workloads that are running on or against it.

Microsoft-datalager, se övervakning och justering ämnen som är specifika för datalager och hjälper dig att se data lagra prestandaegenskaper, minimera svarstider och maximera genomströmningen.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.

Om du kopierar data från Blob Storage till SQL Data Warehouse bör du överväga att använda PolyBase för att öka prestandan.If you copy data from Blob storage to SQL Data Warehouse, consider using PolyBase to boost performance. Se använda PolyBase för att läsa in data i Azure SQL Data Warehouse mer information.See Use PolyBase to load data into Azure SQL Data Warehouse for details. En genomgång med ett användningsfall finns i läsa in 1 TB i Azure SQL Data Warehouse under 15 minuter med Azure Data Factory.For a walkthrough with a use case, see Load 1 TB into Azure SQL Data Warehouse under 15 minutes with Azure Data Factory.

Filbaserat datalagerFile-based data stores

(Inkluderar Blob Storage, Data Lake Store, Amazon S3, lokala fil system och lokala HDFS)(Includes Blob storage, Data Lake Store, Amazon S3, on-premises file systems, and on-premises HDFS)

  • Genomsnittlig storlek och antalet filer: Kopieringsaktivitet överför en fil i taget.Average file size and file count: Copy Activity transfers data one file at a time. Med samma mängden data som ska flyttas, är det totala arbetsflödet lägre om data består av många små filer i stället för ett par stora filer på grund av fasen bootstrap för varje fil.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. Om det är möjligt, kombinera därför små filer i större filer för att få högre dataflöde.Therefore, if possible, combine small files into larger files to gain higher throughput.
  • Format och komprimering: fler sätt att förbättra prestanda finns i den överväganden för serialisering och deserialisering och överväganden för komprimering avsnitt.File format and compression: For more ways to improve performance, see the Considerations for serialization and deserialization and Considerations for compression sections.
  • I det lokala fil system scenariot, där Data Management Gateway krävs, se avsnittet överväganden för data Management Gateway .For the on-premises file system scenario, in which Data Management Gateway is required, see the Considerations for Data Management Gateway section.

RelationsdataRelational data stores

(Innehåller SQL Database; SQL Data Warehouse; Amazon-RedShift; SQL Server-databaser; och Oracle-, MySQL-, DB2-, Teradata-, Sybase-och PostgreSQL-databaser osv.)(Includes SQL Database; SQL Data Warehouse; Amazon Redshift; SQL Server databases; and Oracle, MySQL, DB2, Teradata, Sybase, and PostgreSQL databases, etc.)

  • Datamönster: din tabellschemat påverkar kopia dataflöde.Data pattern: Your table schema affects copy throughput. En stor Radstorleken ger dig en bättre prestanda än små Radstorleken att kopiera samma mängd data.A large row size gives you a better performance than small row size, to copy the same amount of data. Anledningen är att databasen mer effektivt kan hämta färre batchar med data som innehåller färre rader.The reason is that the database can more efficiently retrieve fewer batches of data that contain fewer rows.
  • Fråga eller lagrad procedur: Optimera logiken för frågan eller lagrad procedur som du anger i Kopieringsaktiviteten källan för att hämta data mer effektivt.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.
  • Information om lokala Relations databaser, till exempel SQL Server och Oracle, som kräver användning av Data Management Gateway, finns i avsnittet överväganden för data Management Gateway.For on-premises relational databases, such as SQL Server and Oracle, which require the use of Data Management Gateway, see the Considerations for Data Management Gateway section.

Överväganden för mottagarenConsiderations for the sink

AllmäntGeneral

Var noga med att det underliggande datalagringen inte bli överhopade av andra arbetsbelastningar som körs på eller mot den.Be sure that the underlying data store is not overwhelmed by other workloads that are running on or against it.

Microsoft-datalager, finns i övervakning och justering ämnen som är specifika för datalager.For Microsoft data stores, refer to monitoring and tuning topics that are specific to data stores. Dessa avsnitt kan hjälpa dig att förstå data store prestandaegenskaper och hur du minimera svarstider och maximera genomströmningen.These topics can help you understand data store performance characteristics and how to minimize response times and maximize throughput.

Om du kopierar data från Blob Storage till SQL Data Warehousebör du överväga att använda PolyBase för att öka prestandan.If you are copying data from Blob storage to SQL Data Warehouse, consider using PolyBase to boost performance. Se använda PolyBase för att läsa in data i Azure SQL Data Warehouse mer information.See Use PolyBase to load data into Azure SQL Data Warehouse for details. En genomgång med ett användningsfall finns i läsa in 1 TB i Azure SQL Data Warehouse under 15 minuter med Azure Data Factory.For a walkthrough with a use case, see Load 1 TB into Azure SQL Data Warehouse under 15 minutes with Azure Data Factory.

Filbaserat datalagerFile-based data stores

(Inkluderar Blob Storage, Data Lake Store, Amazon S3, lokala fil system och lokala HDFS)(Includes Blob storage, Data Lake Store, Amazon S3, on-premises file systems, and on-premises HDFS)

  • Kopiera beteende: Om du kopierar data från ett annat filbaserat datalager Kopieringsaktiviteten har tre alternativ via den copyBehavior egenskapen.Copy behavior: If you copy data from a different file-based data store, Copy Activity has three options via the copyBehavior property. Den bevarar hierarki, plattar ut hierarki eller sammanfogar filer.It preserves hierarchy, flattens hierarchy, or merges files. Antingen behålla eller förenkla hierarkin har lite eller ingen prestanda försämras, men Sammanfoga filer gör att prestanda försämras att öka.Either preserving or flattening hierarchy has little or no performance overhead, but merging files causes performance overhead to increase.
  • Format och komprimering: finns i den överväganden för serialisering och deserialisering och överväganden för komprimering avsnitt fler sätt att förbättra prestanda.File format and compression: See the Considerations for serialization and deserialization and Considerations for compression sections for more ways to improve performance.
  • Blob Storage: för närvarande stöder Blob Storage bara block-blobbar för optimerad data överföring och data flöde.Blob storage: Currently, Blob storage supports only block blobs for optimized data transfer and throughput.
  • För scenarier med lokala fil system som kräver användning av Data Management Gateway, se avsnittet överväganden för data Management Gateway .For on-premises file systems scenarios that require the use of Data Management Gateway, see the Considerations for Data Management Gateway section.

RelationsdataRelational data stores

(Innehåller SQL Database, SQL Data Warehouse, SQL Server databaser och Oracle-databaser)(Includes SQL Database, SQL Data Warehouse, SQL Server databases, and Oracle databases)

  • Kopiera beteende: beroende på vilka egenskaper som du har angett för sqlSink, Kopieringsaktivitet skriver data till måldatabasen på olika sätt.Copy behavior: Depending on the properties you've set for sqlSink, Copy Activity writes data to the destination database in different ways.
    • Som standard läggs data movement service använder API: et Bulk Copy att infoga data i läge, som ger bästa prestanda.By default, the data movement service uses the Bulk Copy API to insert data in append mode, which provides the best performance.
    • Om du konfigurerar en lagrad procedur i sink gäller databasen en datarad samtidigt i stället för som en massinläsning.If you configure a stored procedure in the sink, the database applies the data one row at a time instead of as a bulk load. Prestanda försämras betydligt.Performance drops significantly. Om din data uppsättning är stor kan du, när det är tillämpligt, byta till att använda egenskapen sqlWriterCleanupScript .If your data set is large, when applicable, consider switching to using the sqlWriterCleanupScript property.
    • Om du konfigurerar egenskapen sqlWriterCleanupScript för varje kopierings aktivitet, utlöser tjänsten skriptet och använder sedan Mass kopierings-API: et för att infoga data.If you configure the sqlWriterCleanupScript property for each Copy Activity run, the service triggers the script, and then you use the Bulk Copy API to insert the data. Om du vill skriva över hela tabellen med den senaste informationen, kan du till exempel ange ett skript för att först ta bort alla poster innan massinläsning nya data från källan.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.
  • Datastorlek för mönstret och batch:Data pattern and batch size:
    • Din tabellschemat påverkar kopia dataflöde.Your table schema affects copy throughput. Om du vill kopiera samma mängden data som får en stor Radstorleken du bättre prestanda än en liten Radstorleken eftersom databasen mer effektivt kan genomföra färre batchar av data.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.
    • Kopieringsaktivitet infogar data i en serie med batchar.Copy Activity inserts data in a series of batches. Du kan ange antalet rader i en batch med hjälp av den writeBatchSize egenskapen.You can set the number of rows in a batch by using the writeBatchSize property. Om dina data har liten rader, kan du ange den writeBatchSize egenskap med ett högre värde kan dra nytta av lägre omkostnader för batch och högre dataflöde.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. Om Radstorleken på dina data är stor, var försiktig när du ökar writeBatchSize.If the row size of your data is large, be careful when you increase writeBatchSize. Ett högt värde kan leda till en kopieringen misslyckades på grund av överbelastning i databasen.A high value might lead to a copy failure caused by overloading the database.
  • Information om lokala Relations databaser som SQL Server och Oracle, som kräver användning av Data Management Gateway, finns i avsnittet överväganden för data Management Gateway .For on-premises relational databases like SQL Server and Oracle, which require the use of Data Management Gateway, see the Considerations for Data Management Gateway section.

NoSQL-ArkivNoSQL stores

(Innehåller tabell lagring och Azure Cosmos DB)(Includes Table storage and Azure Cosmos DB )

  • För tabellagring:For Table storage:
    • Partition: skriva data till överlagrad partitioner avsevärt försämrar prestanda.Partition: Writing data to interleaved partitions dramatically degrades performance. Sortera dina källdata efter partitionsnyckel så att data infogas effektivt i en partition efter en annan eller ändra logik för att skriva data till en enda partition.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.
  • För Azure Cosmos DB:For Azure Cosmos DB:
    • Batchstorlek: egenskapen writeBatchSize anger antalet parallella förfrågningar till Azure Cosmos DB tjänsten för att skapa dokument.Batch size: The writeBatchSize property sets the number of parallel requests to the Azure Cosmos DB service to create documents. Du kan vänta bättre prestanda när du ökar writeBatchSize eftersom fler parallella förfrågningar skickas till Azure Cosmos dB.You can expect better performance when you increase writeBatchSize because more parallel requests are sent to Azure Cosmos DB. Titta dock efter begränsning när du skriver till Azure Cosmos DB (fel meddelandet är "begär ande frekvens är stort").However, watch for throttling when you write to Azure Cosmos DB (the error message is "Request rate is large"). Olika faktorer kan orsaka begränsning, inklusive dokument storlek, antalet termer i dokumenten och mål samlingens indexerings princip.Various factors can cause throttling, including document size, the number of terms in the documents, and the target collection's indexing policy. Överväg att använda en bättre samling, till exempel S3, för att uppnå högre kopierings data flöde.To achieve higher copy throughput, consider using a better collection, for example, S3.

Överväganden för serialisering och deserialiseringConsiderations for serialization and deserialization

Serialisering och deserialisering kan inträffa när ditt inkommande datauppsättning eller en datauppsättning för utdata är en fil.Serialization and deserialization can occur when your input data set or output data set is a file. Se stöds format och komprimering med information om filformat som stöds av Kopieringsaktivitet.See Supported file and compression formats with details on supported file formats by Copy Activity.

Kopiera beteende:Copy behavior:

  • Kopiera filer mellan filbaserat datalager:Copying files between file-based data stores:
    • När indata-och utdata-data anges både har samma eller inga fil format inställningar, kör data flyttnings tjänsten en binär kopia utan serialisering eller deserialisering.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. Du kan se ett högre genomflöde jämfört med scenario, där filformatinställningar källa och mottagare skiljer sig från varandra.You see a higher throughput compared to the scenario, in which the source and sink file format settings are different from each other.
    • När indata och utdata datauppsättningar båda är i textformat och endast kodningen typen är olika, av data movement service kräver endast kodning konvertering.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. Gör den alla serialisering och deserialisering, vilket gör att prestanda försämras jämfört med en binär kopia.It doesn't do any serialization and deserialization, which causes some performance overhead compared to a binary copy.
    • När in- och utdata datauppsättningar båda har olika filformat eller olika konfigurationer som avgränsare, av data movement service deserializes källdata för att strömma, transformera och serialisera det till utdataformat som du angett.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. Den här åtgärden resulterar i en mycket mer betydande overhead jämfört med andra scenarier.This operation results in a much more significant performance overhead compared to other scenarios.
  • När du kopierar filer till/från ett datalager som inte är filbaserade (till exempel från store filbaserade som du kan använda för att en relationslagringsplats) krävs serialisering eller avserialisering steg.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. Det här steget leder till betydande prestanda försämras.This step results in significant performance overhead.

Filformatet: filformatet som du väljer kan påverka kopieringen bättre prestanda.File format: The file format you choose might affect copy performance. Avro är till exempel ett kompakt binärformat som lagrar metadata med data.For example, Avro is a compact binary format that stores metadata with data. Det har ett brett stöd i Hadoop-ekosystemet för bearbetning och frågor.It has broad support in the Hadoop ecosystem for processing and querying. Avro är dock dyrare för serialisering och deserialisering, vilket resulterar i lägre kopia genomflöde jämfört med textformat.However, Avro is more expensive for serialization and deserialization, which results in lower copy throughput compared to text format. Se ditt val av filformatet i hela flödet bearbetning holistiskt.Make your choice of file format throughout the processing flow holistically. Börja med vilken form data lagras i källdatalagren eller som ska extraheras från externa system. Det bästa formatet för lagring, analytisk behandling och fråga; och i vilket format data ska exporteras till dataarkiv för verktyg för rapportering och visualisering.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. Ibland ett format som är optimal för Läs- och skrivprestanda kan vara ett bra val när du funderar på övergripande analysprocessen.Sometimes a file format that is suboptimal for read and write performance might be a good choice when you consider the overall analytical process.

Överväganden för komprimeringConsiderations for compression

När datauppsättningen inkommande eller utgående är en fil kan ange du Kopieringsaktivitet för att utföra komprimering eller dekomprimering eftersom den skriver data till målet.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. När du väljer komprimering kan du göra en kompromiss mellan indata/utdata (I/O) och CPU.When you choose compression, you make a tradeoff between input/output (I/O) and CPU. Komprimera data kostnaderna extra beräkningsresurser.Compressing the data costs extra in compute resources. Men i utbyte kan det minskar nätverkets i/o och lagring.But in return, it reduces network I/O and storage. Beroende på dina data, kan du se en högre övergripande kopia dataflöde.Depending on your data, you may see a boost in overall copy throughput.

Codec: kopierings aktiviteten stöder gzip-, bzip2-och DEFLATE-komprimerings typer.Codec: Copy Activity supports gzip, bzip2, and Deflate compression types. Azure HDInsight kan använda alla tre typerna för bearbetning.Azure HDInsight can consume all three types for processing. Varje komprimerings-codec har fördelar.Each compression codec has advantages. Till exempel bzip2 har den lägsta kopia dataflöden, men du får bästa Hive frågeprestanda med bzip2 eftersom du kan dela upp den för bearbetning.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 är det mest balanserade alternativet, och det används oftast.Gzip is the most balanced option, and it is used the most often. Välj codec som bäst passar ditt scenario för slutpunkt till slutpunkt.Choose the codec that best suits your end-to-end scenario.

Nivå: du kan välja mellan två alternativ för varje komprimerings-codec: snabbaste komprimerade och optimalt komprimerad.Level: You can choose from two options for each compression codec: fastest compressed and optimally compressed. Det snabbaste komprimerade alternativet komprimerar data så snabbt som möjligt, även om den resulterande filen inte är optimalt komprimerad.The fastest compressed option compresses the data as quickly as possible, even if the resulting file is not optimally compressed. Alternativet optimalt komprimerade tillbringar mer tid på komprimering och återger en minimal mängd data.The optimally compressed option spends more time on compression and yields a minimal amount of data. Du kan testa båda alternativen för att se vilket ger bättre prestanda i ditt fall.You can test both options to see which provides better overall performance in your case.

Tänk på följande: om du vill kopiera en stor mängd data mellan en lokal lagrings plats och molnet kan du överväga att använda interimistisk Blob Storage med komprimering.A consideration: To copy a large amount of data between an on-premises store and the cloud, consider using interim blob storage with compression. Det är praktiskt att använda mellanlagring när bandbredden för företagets nätverk och dina Azure-tjänster är den begränsande faktorn och du vill att den inkommande datauppsättningen och datauppsättningen för utdata både i okomprimerade form.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. Mer specifikt kan du dela upp en enskild kopierings aktivitet i två kopierings aktiviteter.More specifically, you can break a single copy activity into two copy activities. Den första kopierings aktiviteten kopierar från källan till en tillfällig eller mellanlagringsplats av BLOB i komprimerad form.The first copy activity copies from the source to an interim or staging blob in compressed form. Den andra kopierings aktiviteten kopierar komprimerade data från mellanlagring och dekomprimerar när den skrivs till mottagaren.The second copy activity copies the compressed data from staging, and then decompresses while it writes to the sink.

Överväganden för kolumnmappningenConsiderations for column mapping

Du kan ange den columnMappings egenskapen i Kopieringsaktiviteten till kartan alla eller en delmängd av kolumnerna indata till utdatakolumner.You can set the columnMappings property in Copy Activity to map all or a subset of the input columns to the output columns. När av data movement service läser data från källan, behöver så utföra kolumnmappning på data innan den skriver data till mottagaren.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. Den här extra bearbetningen minskar kopia dataflöde.This extra processing reduces copy throughput.

Om ditt källdatalager är frågningsbar, till exempel om det är en relationslagringsplats som SQL Database eller SQL Server, eller om det är ett NoSQL-Arkiv som Table storage eller Azure Cosmos DB kan du push-överföra den kolumn som filtrering och sortering logik för att den fråga egenskapen istället för att använda kolumnmappning.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. På så sätt kan projektionen inträffar medan av data movement service läser data från källans datalager, där det är mycket mer effektivt.This way, the projection occurs while the data movement service reads data from the source data store, where it is much more efficient.

Andra övervägandenOther considerations

Om storleken på de data som du vill kopiera är stor kan du justera affärs logiken för att ytterligare partitionera data med hjälp av segmenterings metoden i Data Factory.If the size of data you want to copy is large, you can adjust your business logic to further partition the data using the slicing mechanism in Data Factory. Schemalägg sedan kopierings aktiviteten så att den körs oftare för att minska data storleken för varje kopierings aktivitet.Then, schedule Copy Activity to run more frequently to reduce the data size for each Copy Activity run.

Var försiktig med antalet data uppsättningar och kopierings aktiviteter som kräver Data Factory att ansluta till samma data lager samtidigt.Be cautious about the number of data sets and copy activities requiring Data Factory to connector to the same data store at the same time. Många samtidiga kopia jobb kan begränsa ett datalager och leda till försämrade prestanda, kopiera jobbet interna återförsök, och i vissa fall, fel vid körning.Many concurrent copy jobs might throttle a data store and lead to degraded performance, copy job internal retries, and in some cases, execution failures.

Exempelscenario: kopiera från en lokal SQL Server till Blob storageSample scenario: Copy from an on-premises SQL Server to Blob storage

Scenariot: en pipeline är utformat för att kopiera data från en lokal SQL Server till Blob storage i CSV-format.Scenario: A pipeline is built to copy data from an on-premises SQL Server to Blob storage in CSV format. Om du vill göra kopieringsjobbet snabbare ska CSV-filer komprimeras bzip2-format.To make the copy job faster, the CSV files should be compressed into bzip2 format.

Testning och analys: dataflödet för Kopieringsaktiviteten är mindre än 2 Mbit/s, vilket är mycket långsammare än benchmark för prestanda.Test and analysis: The throughput of Copy Activity is less than 2 MBps, which is much slower than the performance benchmark.

Prestandaanalys och justera: Om du vill felsöka prestandaproblem, ska vi titta på hur data bearbetas och flyttas.Performance analysis and tuning: To troubleshoot the performance issue, let’s look at how the data is processed and moved.

  1. Läsa data: Gateway öppnar en anslutning till SQL Server och skickar frågan.Read data: Gateway opens a connection to SQL Server and sends the query. SQL Server svarar genom att skicka data strömmen till gateway via intranätet.SQL Server responds by sending the data stream to Gateway via the intranet.
  2. Serialisera och komprimera data: gatewayen serialiserar data strömmen till CSV-format och komprimerar data till en bzip2-dataström.Serialize and compress data: Gateway serializes the data stream to CSV format, and compresses the data to a bzip2 stream.
  3. Skriv data: Gateway laddar upp bzip2-dataströmmen till Blob Storage via Internet.Write data: Gateway uploads the bzip2 stream to Blob storage via the Internet.

Som du kan se bearbetas och flyttas data i ett sekventiellt strömnings sätt: SQL Server > LAN > Gateway > WAN-> Blob Storage.As you can see, the data is being processed and moved in a streaming sequential manner: SQL Server > LAN > Gateway > WAN > Blob storage. Den övergripande prestandan är begränsad av minsta dataflödet i pipelinen.The overall performance is gated by the minimum throughput across the pipeline.

Dataflöde

En eller flera av följande faktorer kan orsaka flaskhals för prestanda:One or more of the following factors might cause the performance bottleneck:

  • Källan: SQL-servern har låg genomströmning på grund av tunga belastningar.Source: SQL Server itself has low throughput because of heavy loads.
  • Data Management Gateway:Data Management Gateway:
    • LAN: gatewayen ligger långt från SQL Server datorn och har en anslutning med låg bandbredd.LAN: Gateway is located far from the SQL Server machine and has a low-bandwidth connection.
    • Gateway: gatewayen har nått sina inläsnings begränsningar för att utföra följande åtgärder:Gateway: Gateway has reached its load limitations to perform the following operations:
      • Serialisering: serialisering av data i dataströmmen till CSV-format har långsam dataflöde.Serialization: Serializing the data stream to CSV format has slow throughput.
      • Komprimering: du har valt en långsam komprimerings-codec (till exempel bzip2, vilket är 2,8 Mbit/s med Core i7).Compression: You chose a slow compression codec (for example, bzip2, which is 2.8 MBps with Core i7).
    • WAN: bandbredden mellan företagsnätverket och dina Azure-tjänster är låg (till exempel T1 = 1,544 kbit/s; T2 = 6,312 kbit/s).WAN: The bandwidth between the corporate network and your Azure services is low (for example, T1 = 1,544 kbps; T2 = 6,312 kbps).
  • Mottagare: Blob storage har lågt dataflöde.Sink: Blob storage has low throughput. (Det här scenariot är inte troligt eftersom dess serviceavtalsgarantier minst 60 Mbit/s.)(This scenario is unlikely because its SLA guarantees a minimum of 60 MBps.)

I det här fallet kan bzip2 datakomprimering långsammare hela pipelinen.In this case, bzip2 data compression might be slowing down the entire pipeline. Växla till en gzip komprimerings-codec kan underlätta den här begränsningen.Switching to a gzip compression codec might ease this bottleneck.

Exempel scenarier: Använd parallell kopiaSample scenarios: Use parallel copy

Scenario I: Kopiera 1 000 1 MB-filer från det lokala fil systemet till Blob Storage.Scenario I: Copy 1,000 1-MB files from the on-premises file system to Blob storage.

Analys och prestanda justering: om du till exempel har installerat gateway på en quad core-dator använder Data Factory 16 parallella kopior för att flytta filer från fil systemet till Blob Storage samtidigt.Analysis and performance tuning: For an example, if you have installed gateway on a quad core machine, Data Factory uses 16 parallel copies to move files from the file system to Blob storage concurrently. Den här parallella körningen bör resultera i högt data flöde.This parallel execution should result in high throughput. Du kan också uttryckligen ange antalet parallella kopior.You also can explicitly specify the parallel copies count. När du kopierar många små filer, bidrar parallella kopior dramatiskt genom att använda resurser på ett mer effektivt sätt.When you copy many small files, parallel copies dramatically help throughput by using resources more effectively.

Scenario 1

Scenario II: kopiera 20 blobbar på 500 MB från Blob storage till data Lake Store Analytics och justera sedan prestanda.Scenario II: Copy 20 blobs of 500 MB each from Blob storage to Data Lake Store Analytics, and then tune performance.

Analys och prestanda justering: i det här scenariot kopierar data Factory data från Blob storage till data Lake Store genom att använda en enda kopia (parallelCopies inställt på 1) och data flytt enheter med en enda moln mängd.Analysis and performance tuning: In this scenario, Data Factory copies the data from Blob storage to Data Lake Store by using single-copy (parallelCopies set to 1) and single-cloud data movement units. Data flödet du ser ligger nära det som beskrivs i avsnittet om prestanda referens.The throughput you observe will be close to that described in the performance reference section.

Scenario 2

Scenario III: individuell fil storlek är större än dussin tals MB och den totala volymen är stor.Scenario III: Individual file size is greater than dozens of MBs and total volume is large.

Analys och prestanda: om du ökar parallelCopies resulterar det inte i bättre kopierings prestanda på grund av resurs begränsningarna i en DMU med ett enda moln.Analysis and performance turning: Increasing parallelCopies doesn't result in better copy performance because of the resource limitations of a single-cloud DMU. I stället bör du ange fler moln DMUs för att få fler resurser för att utföra data förflyttningen.Instead, you should specify more cloud DMUs to get more resources to perform the data movement. Ange inget värde för egenskapen parallelCopies .Do not specify a value for the parallelCopies property. Data Factory hanterar parallellitet åt dig.Data Factory handles the parallelism for you. I det här fallet, om du anger cloudDataMovementUnits till 4, sker en genom strömning av fyra gånger.In this case, if you set cloudDataMovementUnits to 4, a throughput of about four times occurs.

Scenario 3

ReferensReference

Här följer prestanda övervakning och justering av referenser för några av de data lager som stöds:Here are performance monitoring and tuning references for some of the supported data stores: