Handleiding voor prestaties en schaalbaarheid van kopieeractiviteit
VAN TOEPASSING OP:
Azure Data Factory
Azure Synapse Analytics
Soms wilt u een grootschalige gegevensmigratie uitvoeren van data lake of Enterprise Data Warehouse (EDW) naar Azure. Op andere momenten wilt u grote hoeveelheden gegevens uit verschillende bronnen opnemen in Azure voor big data analyse. In elk geval is het essentieel om optimale prestaties en schaalbaarheid te bereiken.
Azure Data Factory en Azure Synapse Analytics pijplijnen bieden een mechanisme om gegevens op te nemen, met de volgende voordelen:
- Verwerkt grote hoeveelheden gegevens
- Presteert goed
- Is rendabel
Deze voordelen zijn uitstekend geschikt voor data engineers die schaalbare pijplijnen voor gegevensopneembaarheid willen bouwen die zeer goed presteren.
Nadat u dit artikel hebt gelezen, kunt u de volgende vragen beantwoorden:
- Welk prestatie- en schaalbaarheidsniveau kan ik bereiken met behulp van kopieeractiviteit voor gegevensmigratie- en gegevens opnamescenario's?
- Welke stappen moet ik nemen om de prestaties van de kopieeractiviteit af te stemmen?
- Welke prestatieoptimalisaties kan ik gebruiken voor het uitvoeren van één kopieeractiviteit?
- Welke andere externe factoren moet u overwegen bij het optimaliseren van de kopieerprestaties?
Notitie
Als u niet bekend bent met de kopieeractiviteit in het algemeen, bekijkt u het overzicht van de kopieeractiviteit voordat u dit artikel leest.
Kopieerprestaties en schaalbaarheid die haalbaar zijn met behulp Azure Data Factory en Synapse-pijplijnen
Azure Data Factory- en Synapse-pijplijnen bieden een serverloze architectuur die parallellelisme op verschillende niveaus mogelijk maakt.
Met deze architectuur kunt u pijplijnen ontwikkelen die de doorvoer voor gegevensverloop voor uw omgeving maximaliseren. Deze pijplijnen maken volledig gebruik van de volgende resources:
- Netwerkbandbreedte tussen de bron- en doelgegevensopslag
- Invoer-/uitvoerbewerkingen van bron- of doelgegevensopslag per seconde (IOPS) en bandbreedte
Dit volledige gebruik betekent dat u de totale doorvoer kunt schatten door de minimale doorvoer te meten die beschikbaar is voor de volgende resources:
- Brongegevensopslag
- Doelgegevensarchief
- Netwerkbandbreedte tussen de bron- en doelgegevensopslag
In de onderstaande tabel ziet u de berekening van de duur van de gegevens verplaatsing. De duur in elke cel wordt berekend op basis van een bepaald netwerk en de bandbreedte van het gegevensopslag en de grootte van een bepaalde nettolading.
Notitie
De onderstaande duur is bedoeld om haalbare prestaties te vertegenwoordigen in een end-to-end oplossing voor gegevensintegratie met behulp van een of meer optimalisatietechnieken voor prestaties die worden beschreven inFuncties voor prestatieoptimalisatie kopiëren, waaronder het gebruik van ForEach om meerdere gelijktijdige kopieeractiviteiten te partitioneren en te maken. U wordt aangeraden de stappen in Prestatieafstemmingsstappen te volgen om de kopieerprestaties voor uw specifieke gegevensset en systeemconfiguratie te optimaliseren. Gebruik de getallen die u hebt verkregen in uw prestatieafstemmingstests voor de planning van de productie-implementatie, capaciteitsplanning en factureringsprojectie.
| Gegevensgrootte / Bandbreedte |
50 Mbps | 100 Mbps | 500 Mbps | 1 Gbps | 5 Gbps | 10 Gbps | 50 Gbps |
|---|---|---|---|---|---|---|---|
| 1 GB | 2,7 min. | 1,4 min. | 0,3 min. | 0,1 min. | 0,03 min. | 0,01 min. | 0,0 min. |
| 10 GB | 27,3 min. | 13,7 min. | 2,7 min. | 1,3 min. | 0,3 min. | 0,1 min. | 0,03 min. |
| 100 GB | 4,6 uur | 2,3 uur | 0,5 uur | 0,2 uur | 0,05 uur | 0,02 uur | 0,0 uur |
| 1 TB | 46,6 uur | 23,3 uur | 4,7 uur | 2,3 uur | 0,5 uur | 0,2 uur | 0,05 uur |
| 10 TB | 19,4 dagen | 9,7 dagen | 1,9 dagen | 0,9 dagen | 0,2 dagen | 0,1 dag | 0,02 dagen |
| 100 TB | 194,2 dagen | 97,1 dagen | 19,4 dagen | 9,7 dagen | 1,9 dagen | 1 dag | 0,2 dagen |
| 1 PB | 64,7 mo | 32,4 mo | 6,5 mo | 3.2 mo | 0,6 m | 0,3 mo | 0,06 mo |
| 10 PB | 647.3 mo | 323,6 mo | 64,7 mo | 31,6 mo | 6,5 mo | 3.2 mo | 0,6 m |
Kopiëren is schaalbaar op verschillende niveaus:
Controlestroom kan meerdere kopieeractiviteiten parallel starten, bijvoorbeeld met behulp van For Each-lus.
Eén kopieeractiviteit kan profiteren van schaalbare rekenresources.
- Wanneer u Azure Integration Runtime (IR) gebruikt, kunt u op een serverloze manier maximaal 256 DDU's (Data Integration Units) opgeven voor elke kopieeractiviteit.
- Wanneer u zelf-hostende IR gebruikt, kunt u een van de volgende methoden gebruiken:
- Schaal de machine handmatig op.
- Schaal uit naar meerdere computers(maximaal 4knooppunten) en met één kopieeractiviteit wordt de bestandsset gepartitief over alle knooppunten.
Een enkele kopieeractiviteit leest van en schrijft naar het gegevensopslag met behulp van meerdere threads parallel.
Stappen voor het afstemmen van prestaties
Volg de volgende stappen om de prestaties van uw service af te stemmen op de kopieeractiviteit:
Haal een testset op en stel een basislijn op.
Test tijdens de ontwikkeling uw pijplijn met behulp van de kopieeractiviteit op basis van een representatieve gegevensvoorbeeld. De gegevensset die u kiest, moet uw typische gegevenspatronen aan de hand van de volgende kenmerken vertegenwoordigen:
- Mapstructuur
- Bestandspatroon
- Gegevensschema
En uw gegevensset moet groot genoeg zijn om de kopieerprestaties te evalueren. Het duurt minstens 10 minuten voordat de kopieeractiviteit is voltooid. Verzamel uitvoeringsdetails en prestatiekenmerken na controle van kopieeractiviteit.
De prestaties van één kopieeractiviteit maximaliseren:
We raden u aan om eerst de prestaties te maximaliseren met één kopieeractiviteit.
Als de kopieeractiviteit wordt uitgevoerd in een Azure Integration Runtime:
Begin met standaardwaarden voor gegevensintegratie-eenheden (DIU) en instellingen voor parallelle kopieën.
Als de kopieeractiviteit wordt uitgevoerd op een zelf-hostende Integration Runtime:
U wordt aangeraden een toegewezen computer te gebruiken om IR te hosten. De computer moet gescheiden zijn van de server die als host voor het gegevensopslag wordt gebruikt. Begin met de standaardwaarden voor de instelling voor parallel kopiëren en gebruik één knooppunt voor de zelf-hostende IR.
Voer een prestatietest uit. Noteer de behaalde prestaties. Neem de werkelijke waarden op die worden gebruikt, zoals DIUs en parallelle kopieën. Raadpleeg Controle van kopieeractiviteiten voor informatie over het verzamelen van de gebruikte uitvoeringsresultaten en prestatie-instellingen. Meer informatie over het oplossen van problemen met de prestaties van kopieeractiviteiten om het knelpunt te identificeren en op te lossen.
Itereren om aanvullende prestatietests uit te voeren volgens de richtlijnen voor probleemoplossing en afstemming. Wanneer één kopieeractiviteit eenmaal wordt uitgevoerd, kunt u geen betere doorvoer bereiken. Overweeg of u de geaggregeerde doorvoer wilt maximaliseren door meerdere exemplaren tegelijk uit te voert. Deze optie wordt besproken in de volgende genummerde opsommingsteken.
Geaggregeerde doorvoer maximaliseren door meerdere exemplaren gelijktijdig uit te werken:
U hebt nu de prestaties van één kopieeractiviteit gemaximaliseerd. Als u de bovenlimieten van de doorvoer van uw omgeving nog niet hebt bereikt, kunt u meerdere kopieeractiviteiten parallel uitvoeren. U kunt parallel uitvoeren met behulp van stroom constructs voor controle. Een van deze constructies is de for each-lus. Zie de volgende artikelen over oplossingssjablonen voor meer informatie:
Vouw de configuratie uit naar uw hele gegevensset.
Wanneer u tevreden bent met de resultaten en prestaties van de uitvoering, kunt u de definitie en pijplijn uitbreiden voor uw hele gegevensset.
Problemen met de prestaties van kopieeractiviteit oplossen
Volg de stappen voor het afstemmen van de prestaties om de prestatietest voor uw scenario te plannen en uit te voeren. En ontdek hoe u het prestatieprobleem van elke uitvoering van een kopieeractiviteit kunt oplossen in Problemen met prestaties van kopieeractiviteit oplossen.
Functies voor het optimaliseren van prestaties kopiëren
De service biedt de volgende functies voor prestatieoptimalisatie:
- Eenheden voor gegevensintegratie
- Zelf-hostende schaalbaarheid van Integration Runtime
- Parallel kopiëren
- Gefaseerd kopiëren
Eenheden voor gegevensintegratie
Een Data Integration Unit (DIU) is een meting die de kracht van één eenheid in Azure Data Factory synapse-pijplijnen vertegenwoordigt. Energie is een combinatie van CPU, geheugen en netwerkresourcetoewijzing. DIU is alleen van toepassing op Azure Integration Runtime. DIU is niet van toepassing op zelf-hostende Integration Runtime. Klik hier voor meer informatie.
Zelf-hostende schaalbaarheid van Integration Runtime
Mogelijk wilt u een toenemende gelijktijdige workload hosten. Of misschien wilt u hogere prestaties bereiken in uw huidige workloadniveau. U kunt de schaal van verwerking verbeteren met de volgende benaderingen:
- U kunt de zelf-hostende IR omhoog schalen door het aantal gelijktijdige taken te verhogen dat op een knooppunt kan worden uitgevoerd.
Omhoog schalen werkt alleen als de processor en het geheugen van het knooppunt minder dan volledig worden gebruikt. - U kunt de zelf-hostende IR uitschalen door meer knooppunten (machines) toe te voegen.
Zie voor meer informatie:
- Copy-activiteit prestatieoptimalisatie: Zelf-hostende schaalbaarheid van Integration Runtime
- Een zelf-hostende Integration Runtime maken en configureren: Overwegingen voor schalen
Parallel kopiëren
U kunt de eigenschap parallelCopies instellen om aan te geven welke parallelle activiteit u wilt gebruiken voor de kopieeractiviteit. U kunt deze eigenschap zien als het maximum aantal threads binnen de kopieeractiviteit. De threads werken parallel. De threads lezen uit uw bron of schrijven naar uw sink-gegevensopslag. Meer informatie.
Gefaseerd kopiëren
Een gegevenskopieerbewerking kan de gegevens rechtstreeks naar het sink-gegevensopslag verzenden. U kunt er ook voor kiezen om Blob Storage te gebruiken als tijdelijke faseringsopslag. Meer informatie.
Volgende stappen
Zie de andere artikelen over kopieeractiviteiten: