Delen via


De Azure-SSIS Integration Runtime configureren voor hoge prestaties

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u een Azure-SSIS Integration Runtime (IR) configureert voor hoge prestaties. Met de Azure-SSIS IR kunt u SSIS-pakketten (SQL Server Integration Services) implementeren en uitvoeren in Azure. Zie het artikel Integration Runtime voor meer informatie over Azure-SSIS IR. Zie Lift and shift SQL Server Integration Services-workloads naar de cloud voor informatie over het implementeren en uitvoeren van SSIS-pakketten in Azure.

Belangrijk

Dit artikel bevat prestatieresultaten en waarnemingen van interne tests die worden uitgevoerd door leden van het SSIS-ontwikkelteam. Uw resultaten kunnen variëren. Voer uw eigen tests uit voordat u uw configuratie-instellingen voltooit, wat van invloed is op zowel de kosten als de prestaties.

Eigenschappen die moeten worden geconfigureerd

In het volgende gedeelte van een configuratiescript ziet u de eigenschappen die u kunt configureren wanneer u een Azure-SSIS Integration Runtime maakt. Zie Sql Server Integration Services-pakketten implementeren in Azure voor het volledige PowerShell-script en de volledige beschrijving.

# If your input contains a PSH special character, e.g. "$", precede it with the escape character "`" like "`$"
$SubscriptionName = "[your Azure subscription name]"
$ResourceGroupName = "[your Azure resource group name]"
$DataFactoryName = "[your data factory name]"
# For supported regions, see https://azure.microsoft.com/global-infrastructure/services/?products=data-factory&regions=all
$DataFactoryLocation = "EastUS"

### Azure-SSIS integration runtime information - This is a Data Factory compute resource for running SSIS packages
$AzureSSISName = "[specify a name for your Azure-SSIS IR]"
$AzureSSISDescription = "[specify a description for your Azure-SSIS IR]"
# For supported regions, see https://azure.microsoft.com/global-infrastructure/services/?products=data-factory&regions=all
$AzureSSISLocation = "EastUS"
# For supported node sizes, see https://azure.microsoft.com/pricing/details/data-factory/ssis/
$AzureSSISNodeSize = "Standard_D8_v3"
# 1-10 nodes are currently supported
$AzureSSISNodeNumber = 2
# Azure-SSIS IR edition/license info: Standard or Enterprise
$AzureSSISEdition = "Standard" # Standard by default, while Enterprise lets you use advanced/premium features on your Azure-SSIS IR
# Azure-SSIS IR hybrid usage info: LicenseIncluded or BasePrice
$AzureSSISLicenseType = "LicenseIncluded" # LicenseIncluded by default, while BasePrice lets you bring your existing SQL Server license with Software Assurance to earn cost savings from Azure Hybrid Benefit (AHB) option
# For a Standard_D1_v2 node, up to 4 parallel executions per node are supported, but for other nodes, up to max(2 x number of cores, 8) are currently supported
$AzureSSISMaxParallelExecutionsPerNode = 8
# Custom setup info
$SetupScriptContainerSasUri = "" # OPTIONAL to provide SAS URI of blob container where your custom setup script and its associated files are stored
# Virtual network info: Classic or Azure Resource Manager
$VnetId = "[your virtual network resource ID or leave it empty]" # REQUIRED if you use Azure SQL Database with virtual network service endpoints/SQL Managed Instance/on-premises data, Azure Resource Manager virtual network is recommended, Classic virtual network will be deprecated soon
$SubnetName = "[your subnet name or leave it empty]" # WARNING: Please use the same subnet as the one used with your Azure SQL Database with virtual network service endpoints or a different subnet than the one used for your SQL Managed Instance

### SSISDB info
$SSISDBServerEndpoint = "[your server name or managed instance name.DNS prefix].database.windows.net" # WARNING: Please ensure that there is no existing SSISDB, so we can prepare and manage one on your behalf
# Authentication info: SQL or Entra ID
$SSISDBServerAdminUserName = "[your server admin username for SQL authentication or leave it empty for AAD authentication]"
$SSISDBServerAdminPassword = "[your server admin password for SQL authentication or leave it empty for AAD authentication]"
$SSISDBPricingTier = "[Basic|S0|S1|S2|S3|S4|S6|S7|S9|S12|P1|P2|P4|P6|P11|P15|…|ELASTIC_POOL(name = <elastic_pool_name>) for Azure SQL Database or leave it empty for SQL Managed Instance]"

AzureSSISLocation

AzureSSISLocation is de locatie voor het integratieruntime-werkknooppunt. Het werkknooppunt onderhoudt een constante verbinding met de SSIS Catalog-database (SSISDB) in Azure SQL Database. Stel AzureSSISLocation in op dezelfde locatie als de logische SQL-server die als host fungeert voor SSISDB, zodat de integratieruntime zo efficiënt mogelijk kan werken.

AzureSSISNodeSize

Data Factory, met inbegrip van de Azure-SSIS IR, ondersteunt de volgende opties:

  • Standard_A4_v2
  • Standard_A8_v2
  • Standard_D1_v2
  • Standard_D2_v2
  • Standard_D3_v2
  • Standard_D4_v2
  • Standard_D2_v3
  • Standard_D4_v3
  • Standard_D8_v3
  • Standard_D16_v3
  • Standard_D32_v3
  • Standard_D64_v3
  • Standard_E2_v3
  • Standard_E4_v3
  • Standard_E8_v3
  • Standard_E16_v3
  • Standard_E32_v3
  • Standard_E64_v3

In het onofficiële interne testen door het SSIS-engineeringteam lijkt de D-serie geschikter te zijn voor de uitvoering van SSIS-pakketten dan de A-serie.

  • De prestatie-/prijsverhouding van de D-serie is hoger dan de A-serie en de prestatie-/prijsverhouding van de v3-serie is hoger dan de v2-serie.
  • De doorvoer voor de D-serie is hoger dan de A-serie tegen dezelfde prijs en de doorvoer voor de v3-serie is hoger dan de v2-serie tegen dezelfde prijs.
  • De v2-serieknooppunten van Azure-SSIS IR zijn niet geschikt voor aangepaste installatie, dus gebruik in plaats daarvan de v3-serieknooppunten. Als u de v2-serieknooppunten al gebruikt, schakelt u over naar de knooppunten uit de v3-serie zo snel mogelijk.
  • De E-serie is voor geheugen geoptimaliseerde VM-grootten die een hogere geheugen-cpu-verhouding bieden dan andere machines. Als uw pakket veel geheugen vereist, kunt u overwegen om E-serie-VM te kiezen.

Configureren voor uitvoeringssnelheid

Als u niet veel pakketten wilt uitvoeren en u wilt dat pakketten snel worden uitgevoerd, gebruikt u de informatie in de volgende grafiek om een type virtuele machine te kiezen dat geschikt is voor uw scenario.

Deze gegevens vertegenwoordigen één pakketuitvoering op één werkknooppunt. Het pakket laadt 3 miljoen records met voor- en achternaamkolommen uit Azure Blob Storage, genereert een kolom met een volledige naam en schrijft de records met de volledige naam langer dan 20 tekens naar Azure Blob Storage.

De y-as is het aantal pakketten dat in één uur is voltooid. Houd er rekening mee dat dit slechts een testresultaat is van één pakket dat geheugen verbruikt. Als u de doorvoer van uw pakket wilt weten, is het raadzaam om de test zelf uit te voeren.

Uitvoeringssnelheid van SSIS Integration Runtime-pakket

Configureren voor algemene doorvoer

Als u veel pakketten wilt uitvoeren en u het belangrijkst bent over de totale doorvoer, gebruikt u de informatie in de volgende grafiek om een type virtuele machine te kiezen dat geschikt is voor uw scenario.

De y-as is het aantal pakketten dat in één uur is voltooid. Houd er rekening mee dat dit slechts een testresultaat is van één pakket dat geheugen verbruikt. Als u de doorvoer van uw pakket wilt weten, is het raadzaam om de test zelf uit te voeren.

Maximale totale doorvoer voor SSIS Integration Runtime

AzureSSISNodeNumber

AzureSSISNodeNumber past de schaalbaarheid van de integratieruntime aan. De doorvoer van de integratieruntime is proportioneel met het AzureSSISNodeNumber. Stel azureSSISNodeNumber eerst in op een kleine waarde, bewaak de doorvoer van de integratieruntime en pas vervolgens de waarde voor uw scenario aan. Zie Een Azure-SSIS Integration Runtime beheren om het aantal werkknooppunten opnieuw te configureren.

AzureSSISMaxParallelExecutionsPerNode

Wanneer u al een krachtig werkknooppunt gebruikt om pakketten uit te voeren, kan het verhogen van AzureSSISMaxParallelExecutionsPerNode de totale doorvoer van de integratieruntime verhogen. Als u de maximale waarde wilt verhogen, moet u Azure PowerShell gebruiken om AzureSSISMaxParallelExecutionsPerNode bij te werken. U kunt de juiste waarde schatten op basis van de kosten van uw pakket en de volgende configuraties voor de werkknooppunten. Zie De grootten van virtuele machines voor algemeen gebruik voor meer informatie.

Tekengrootte vCPU Geheugen: GiB Tijdelijke opslag (SSD) GiB Maximale tijdelijke opslagdoorvoer: IOPS / MBps lezen / MBps schrijven Maximumaantal gegevensschijven / doorvoer: IOPS Maximum aantal NIC's/verwachte netwerkprestaties (Mbps)
Standard_D1_v2 1 3.5 50 3000 / 46 / 23 2 / 2 x 500 2 / 750
Standard_D2_v2 2 7 100 6000 / 93 / 46 4 / 4 x 500 2 / 1500
Standard_D3_v2 4 14 200 12.000 / 187 / 93 8 / 8 x 500 4 / 3000
Standard_D4_v2 8 28 400 24.000 / 375 / 187 16 / 16 x 500 8 / 6000
Standard_A4_v2 4 8 40 4000 / 80 / 40 8 / 8 x 500 4 / 1000
Standard_A8_v2 8 16 80 8000 / 160 / 80 16 / 16 x 500 8 / 2000
Standard_D2_v3 2 8 50 3000 / 46 / 23 4 / 6x500 2 / 1000
Standard_D4_v3 4 16 100 6000 / 93 / 46 8 / 12x500 2 / 2000
Standard_D8_v3 8 32 200 12.000 / 187 / 93 16 / 24x500 4 / 4000
Standard_D16_v3 16 64 400 24.000 / 375 / 187 32/ 48x500 8 / 8000
Standard_D32_v3 32 128 800 48.000 / 750 / 375 32 / 96x500 8 / 16000
Standard_D64_v3 64 256 1600 96000 / 1000 / 500 32 / 192x500 8 / 30000
Standard_E2_v3 2 16 50 3000 / 46 / 23 4 / 6x500 2 / 1000
Standard_E4_v3 4 32 100 6000 / 93 / 46 8 / 12x500 2 / 2000
Standard_E8_v3 8 64 200 12.000 / 187 / 93 16 / 24x500 4 / 4000
Standard_E16_v3 16 128 400 24.000 / 375 / 187 32 / 48x500 8 / 8000
Standard_E32_v3 32 256 800 48.000 / 750 / 375 32 / 96x500 8 / 16000
Standard_E64_v3 64 432 1600 96000 / 1000 / 500 32 / 192x500 8 / 30000

Hier volgen de richtlijnen voor het instellen van de juiste waarde voor de eigenschap AzureSSISMaxParallelExecutionsPerNode :

  1. Stel deze in op een kleine waarde in het begin.
  2. Verhoog het met een kleine hoeveelheid om te controleren of de totale doorvoer is verbeterd.
  3. Stop met het verhogen van de waarde wanneer de totale doorvoer de maximumwaarde bereikt.

SSISDBPricingTier

SSISDBPricingTier is de prijscategorie voor de SSIS Catalog-database (SSISDB) in Azure SQL Database. Deze instelling is van invloed op het maximum aantal werkrollen in het IR-exemplaar, de snelheid voor het in de wachtrij plaatsen van een pakketuitvoering en de snelheid voor het laden van het uitvoeringslogboek.

  • Als u niet belangrijk bent voor de snelheid om pakketuitvoering in de wachtrij te plaatsen en het uitvoeringslogboek te laden, kunt u de laagste prijscategorie voor databases kiezen. Azure SQL Database met Basic-prijzen ondersteunt 8 werkrollen in een integration runtime-exemplaar.

  • Kies een krachtigere database dan Basic als het aantal werkrollen meer dan 8 is of als het aantal kernen groter is dan 50. Anders wordt de database het knelpunt van het integration runtime-exemplaar en wordt de algehele prestaties negatief beïnvloed.

  • Kies een krachtigere database, zoals s3 als het logboekregistratieniveau is ingesteld op uitgebreid. Volgens onze onofficiële interne tests kan de prijscategorie s3 ondersteuning bieden voor de uitvoering van SSIS-pakketten met 2 knooppunten, 128 parallelle tellingen en uitgebreid logboekregistratieniveau.

U kunt de prijscategorie van de database ook aanpassen op basis van DTU-gebruiksgegevens (Database Transaction Unit) die beschikbaar zijn in Azure Portal.

Ontworpen voor uitstekende prestaties

Het ontwerpen van een SSIS-pakket dat in Azure moet worden uitgevoerd, verschilt van het ontwerpen van een pakket voor on-premises uitvoering. In plaats van meerdere onafhankelijke taken in hetzelfde pakket te combineren, scheidt u ze in verschillende pakketten voor een efficiëntere uitvoering in de Azure-SSIS IR. Maak een pakketuitvoering voor elk pakket, zodat ze niet hoeven te wachten tot elkaar is voltooid. Deze benadering profiteert van de schaalbaarheid van de Azure-SSIS Integration Runtime en verbetert de totale doorvoer.

Meer informatie over Azure-SSIS Integration Runtime. Zie Azure-SSIS Integration Runtime.