Sdílet prostřednictvím


Konfigurace prostředí Azure-SSIS Integration Runtime pro zajištění vysokého výkonu

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek popisuje, jak nakonfigurovat prostředí Azure-SSIS Integration Runtime (IR) pro zajištění vysokého výkonu. Prostředí Azure-SSIS IR umožňuje nasazovat a spouštět balíčky SSIS (SQL Server Integration Services) v Azure. Další informace o prostředí Azure-SSIS IR najdete v článku o prostředí Integration Runtime . Informace o nasazení a spouštění balíčků SSIS v Azure najdete v tématu "Lift and shift" úloh služby SQL Server Integration Services do cloudu.

Důležité

Tento článek obsahuje výsledky výkonu a pozorování z interního testování provedeného členy vývojového týmu služby SSIS. Vaše výsledky se můžou lišit. Před dokončením nastavení konfigurace proveďte vlastní testování, které ovlivňují náklady i výkon.

Vlastnosti ke konfiguraci

Následující část konfiguračního skriptu ukazuje vlastnosti, které můžete nakonfigurovat při vytváření prostředí Azure-SSIS Integration Runtime. Úplný skript a popis PowerShellu najdete v tématu Nasazení balíčků služby SQL Server Integration Services do Azure.

# 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 Azure Active Directory (AAD)
$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 je umístění pracovního uzlu prostředí Integration Runtime. Pracovní uzel udržuje konstantní připojení k databázi katalogu SSIS (SSISDB) ve službě Azure SQL Database. Nastavte AzureSSISLocation na stejné umístění jako logický SQL server, který hostuje databázi SSISDB, což umožňuje prostředí Integration Runtime pracovat co nejefektivněji.

AzureSSISNodeSize

Data Factory, včetně Azure-SSIS IR, podporuje následující možnosti:

  • 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

V neoficiálním interním testování technického týmu SSIS se zdá, že řada D je vhodnější pro spouštění balíčků SSIS než řada A.

  • Poměr výkonu a ceny řady D je vyšší než řada A a poměr výkonu a ceny řady v3 je vyšší než řada v2.
  • Propustnost pro řadu D je vyšší než řada A za stejnou cenu a propustnost pro řadu v3 je vyšší než řada v2 za stejnou cenu.
  • Uzly řady v2 prostředí Azure-SSIS IR nejsou vhodné pro vlastní nastavení, proto místo toho použijte uzly řady v3. Pokud už uzly řady v2 používáte, co nejdříve přepněte na uzly řady v3.
  • Řada E je velikostí virtuálních počítačů optimalizovaných pro paměť, která poskytuje vyšší poměr paměti k procesoru než jiné počítače. Pokud váš balíček vyžaduje hodně paměti, můžete zvážit volbu virtuálního počítače řady E.

Konfigurace pro rychlost spouštění

Pokud nemáte mnoho balíčků ke spuštění a chcete, aby se balíčky spouštějí rychle, použijte informace v následujícím grafu k výběru typu virtuálního počítače vhodného pro váš scénář.

Tato data představují jedno spuštění balíčku na jednom pracovním uzlu. Balíček načte 3 miliony záznamů se sloupci s křestním jménem a příjmením ze služby Azure Blob Storage, vygeneruje sloupec s úplným názvem a zapíše záznamy, které mají celé jméno delší než 20 znaků, do služby Azure Blob Storage.

Osa y je počet balíčků, které dokončily provádění v jedné hodině. Upozorňujeme, že se jedná pouze o výsledek testu jednoho balíčku využívajícího paměť. Pokud chcete znát propustnost balíčku, doporučujeme provést test sami.

SSIS Integration Runtime package execution speed

Konfigurace pro celkovou propustnost

Pokud máte velké množství balíčků, které se mají spustit, a zajímá vás hlavně celková propustnost, použijte informace v následujícím grafu k výběru typu virtuálního počítače vhodného pro váš scénář.

Osa y je počet balíčků, které dokončily provádění v jedné hodině. Upozorňujeme, že se jedná pouze o výsledek testu jednoho balíčku využívajícího paměť. Pokud chcete znát propustnost balíčku, doporučujeme provést test sami.

SSIS Integration Runtime maximum overall throughput

AzureSSISNodeNumber

AzureSSISNodeNumber upravuje škálovatelnost prostředí Integration Runtime. Propustnost prostředí Integration Runtime je úměrná hodnotě AzureSSISNodeNumber. Nejprve nastavte hodnotu AzureSSISNodeNumber na malou hodnotu, monitorujte propustnost prostředí Integration Runtime a pak upravte hodnotu pro váš scénář. Informace o změně konfigurace počtu pracovních uzlů najdete v tématu Správa prostředí Azure-SSIS Integration Runtime.

AzureSSISMaxParallelExecutionsPerNode

Pokud už ke spouštění balíčků používáte výkonný pracovní uzel, může zvýšením hodnoty AzureSSISMaxParallelExecutionsPerNode zvýšit celkovou propustnost prostředí Integration Runtime. Pokud chcete zvýšit maximální hodnotu, musíte pomocí Azure PowerShellu aktualizovat AzureSSISMaxParallelExecutionsPerNode. Odpovídající hodnotu můžete odhadnout na základě nákladů na balíček a následujících konfigurací pracovních uzlů. Další informace najdete v tématu Velikosti virtuálních počítačů pro obecné účely.

Velikost Virtuální procesory Paměť: GiB Dočasné úložiště (SSD): GiB Maximální propustnost dočasného úložiště: IOPS / čtení v MB/s / zápis v MB/s Maximální propustnost datových disků: IOPS Max. počet síťových karet / Očekávaný výkon sítě (Mb/s)
Standard_D1_v2 0 3.5 50 3000 / 46 / 23 2 / 2×500 2 / 750
Standard_D2_v2 2 7 100 6000 / 93 / 46 4 / 4×500 2 / 1 500
Standard_D3_v2 4 14 200 12000 / 187 / 93 8 / 8×500 4 / 3 000
Standard_D4_v2 8 28 400 24000 / 375 / 187 16 / 16×500 8 / 6 000
Standard_A4_v2 4 8 40 4000 / 80 / 40 8 / 8×500 4 / 1 000
Standard_A8_v2 8 16 80 8000 / 160 / 80 16 / 16×500 8 / 2 000
Standard_D2_v3 2 8 50 3000 / 46 / 23 4 / 6x500 2 / 1 000
Standard_D4_v3 4 16 100 6000 / 93 / 46 8 / 12x500 2 / 2 000
Standard_D8_v3 8 32 200 12000 / 187 / 93 16 / 24x500 4 / 4000
Standard_D16_v3 16 64 400 24000 / 375 / 187 32/ 48x500 8 / 8000
Standard_D32_v3 32 128 800 48000 / 750 / 375 32 / 96x500 8 / 16 000
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 / 1 000
Standard_E4_v3 4 32 100 6000 / 93 / 46 8 / 12x500 2 / 2 000
Standard_E8_v3 8 64 200 12000 / 187 / 93 16 / 24x500 4 / 4000
Standard_E16_v3 16 128 400 24000 / 375 / 187 32 / 48x500 8 / 8000
Standard_E32_v3 32 256 800 48000 / 750 / 375 32 / 96x500 8 / 16 000
Standard_E64_v3 64 432 1600 96000 / 1000 / 500 32 / 192x500 8 / 30000

Tady jsou pokyny pro nastavení správné hodnoty pro vlastnost AzureSSISMaxParallelExecutionsPerNode :

  1. Nastavte ji na malou hodnotu na první pohled.
  2. Zvyšte ji o malou částku, abyste zkontrolovali, jestli se zlepšila celková propustnost.
  3. Pokud celková propustnost dosáhne maximální hodnoty, zastavte zvýšení hodnoty.

SSISDBPricingTier

SSISDBPricingTier je cenová úroveň pro databázi katalogu SSIS (SSISDB) ve službě Azure SQL Database. Toto nastavení má vliv na maximální počet pracovních procesů v instanci IR, rychlost zařadí do fronty spuštění balíčku a rychlost načtení protokolu spuštění.

  • Pokud vás nezajímá rychlost spouštění balíčků ve frontě a načtení protokolu spouštění, můžete zvolit nejnižší cenovou úroveň databáze. Azure SQL Database s cenami Basic podporuje 8 pracovních procesů v instanci prostředí Integration Runtime.

  • Zvolte výkonnější databázi než Základní, pokud je počet pracovních procesů větší než 8 nebo počet jader je větší než 50. V opačném případě se databáze stane kritickým bodem instance prostředí Integration Runtime a celkový výkon se negativně projeví.

  • Pokud je úroveň protokolování nastavená na podrobnou, zvolte výkonnější databázi, například s3. Podle našeho neoficiálního interního testování může cenová úroveň s3 podporovat spouštění balíčků SSIS se 2 uzly, 128 paralelních počtů a podrobné úrovně protokolování.

Můžete také upravit cenovou úroveň databáze na základě informací o využití jednotek DTU (Database Transaction Unit ), které jsou k dispozici na webu Azure Portal.

Návrh pro vysoký výkon

Návrh balíčku SSIS pro spuštění v Azure se liší od návrhu balíčku pro místní spuštění. Místo kombinování více nezávislých úloh ve stejném balíčku je rozdělte do několika balíčků, abyste v prostředí Azure-SSIS IR efektivněji spouštět. Vytvořte pro každý balíček spuštění balíčku, aby nemuseli čekat, až se dokončí. Tento přístup přináší výhody škálovatelnosti prostředí Azure-SSIS Integration Runtime a zlepšuje celkovou propustnost.

Přečtěte si další informace o prostředí Azure-SSIS Integration Runtime. Viz Azure-SSIS Integration Runtime.