Megosztás a következőn keresztül:


Az Azure-SSIS integrációs modul konfigurálása a nagy teljesítmény érdekében

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk azt ismerteti, hogyan konfigurálhat egy Azure-SSIS integrációs modult (IR) a nagy teljesítmény érdekében. Az Azure-SSIS integrációs modul lehetővé teszi AZ SQL Server Integration Services (SSIS) csomagok üzembe helyezését és futtatását az Azure-ban. Az Azure-SSIS integrációs modullal kapcsolatos további információkért lásd az integrációs modulról szóló cikket. Az SSIS-csomagok Azure-beli üzembe helyezéséről és futtatásáról további információt az SQL Server Integration Services számítási feladatainak felhőbe történő emelése és áthelyezése című témakörben talál.

Fontos

Ez a cikk az SSIS fejlesztői csapat tagjai által végzett helyszíni tesztelés teljesítményeredményeit és megfigyeléseit tartalmazza. Az eredmények eltérőek lehetnek. A konfigurációs beállítások véglegesítése előtt végezze el a saját tesztelését, amely hatással van a költségekre és a teljesítményre is.

Konfigurálni kívánt tulajdonságok

A konfigurációs szkript következő része az Azure-SSIS integrációs modul létrehozásakor konfigurálható tulajdonságokat mutatja be. A Teljes PowerShell-szkript és leírás az SQL Server Integration Services-csomagok Azure-ban való üzembe helyezését ismertető cikkben olvasható.

# 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

Az AzureSSISLocation az integrációs modul feldolgozó csomópontjának helye. A feldolgozó csomópont állandó kapcsolatot tart fenn az Azure SQL Database SSIS-katalógusadatbázisával (SSISDB). Állítsa az AzureSSISLocationt ugyanarra a helyre, mint az SSISDB-t üzemeltető logikai SQL-kiszolgálóra , így az integrációs futtatókörnyezet a lehető leghatékonyabban működik.

AzureSSISNodeSize

A Data Factory, beleértve az Azure-SSIS integrációs modult is, a következő lehetőségeket támogatja:

  • 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

Az SSIS mérnöki csapat nem hivatalos helyszíni tesztelésében úgy tűnik, hogy a D sorozat alkalmasabb az SSIS-csomagok végrehajtására, mint az A sorozat.

  • A D sorozat teljesítmény/ár aránya magasabb, mint az A sorozat, és a v3 sorozat teljesítmény/ár aránya magasabb, mint a v2 sorozat.
  • A D sorozat átviteli sebessége magasabb, mint az A sorozat azonos áron, és a v3 sorozat átviteli sebessége magasabb, mint a v2 sorozat azonos áron.
  • Az Azure-SSIS IR v2 sorozatú csomópontjai nem alkalmasak egyéni beállításra, ezért használja inkább a v3 sorozatú csomópontokat. Ha már használja a v2 sorozat csomópontjait, a lehető leghamarabb váltson a v3 sorozatú csomópontok használatára.
  • Az E sorozat memóriaoptimalizált virtuálisgép-méretek, amelyek nagyobb memória-processzor arányt biztosítanak, mint a többi gép. Ha a csomag sok memóriát igényel, fontolja meg az E sorozatú virtuális gép kiválasztását.

Végrehajtási sebesség konfigurálása

Ha nem rendelkezik sok futtatható csomaggal, és azt szeretné, hogy a csomagok gyorsan fussanak, az alábbi diagram információi alapján válasszon ki egy, a forgatókönyvnek megfelelő virtuálisgép-típust.

Ezek az adatok egyetlen csomagvégrehajtást jelölnek egyetlen feldolgozó csomóponton. A csomag 3 millió rekordot tölt be utónévvel és vezetéknévoszlopokkal az Azure Blob Storage-ból, létrehoz egy teljes névoszlopot, és 20 karakternél hosszabb teljes névvel rendelkező rekordokat ír az Azure Blob Storage-ba.

Az y tengely azon csomagok száma, amelyek egy óra alatt végrehajtották a végrehajtást. Vegye figyelembe, hogy ez csak egy memóriaigényű csomag teszteredménye. Ha tudni szeretné a csomag átviteli sebességét, javasoljuk, hogy saját maga végezze el a tesztet.

SSIS-integrációs futtatókörnyezeti csomag végrehajtási sebessége

Konfigurálás az általános átviteli sebességhez

Ha sok csomagot kell futtatnia, és a legnagyobb figyelmet az általános átviteli sebesség érdekli, az alábbi diagramon szereplő információk segítségével válasszon ki egy, a forgatókönyvnek megfelelő virtuálisgép-típust.

Az y tengely azon csomagok száma, amelyek egy óra alatt végrehajtották a végrehajtást. Vegye figyelembe, hogy ez csak egy memóriaigényű csomag teszteredménye. Ha tudni szeretné a csomag átviteli sebességét, javasoljuk, hogy saját maga végezze el a tesztet.

Az SSIS integrációs modul maximális teljes átviteli sebessége

AzureSSISNodeNumber

Az AzureSSISNodeNumber az integrációs modul méretezhetőségét állítja be. Az integrációs futtatókörnyezet átviteli sebessége arányos az AzureSSISNodeNumber értékével. Először állítsa az AzureSSISNodeNumber értékét egy kis értékre, figyelje az integrációs modul átviteli sebességét, majd módosítsa a forgatókönyv értékét. A feldolgozó csomópontok számának újrakonfigurálásához lásd : Azure-SSIS integrációs modul kezelése.

AzureSSISMaxParallelExecutionsPerNode

Ha már nagy teljesítményű feldolgozó csomópontot használ a csomagok futtatásához, az AzureSSISMaxParallelExecutionsPerNode növelése növelheti az integrációs futtatókörnyezet általános átviteli sebességét. Ha növelni szeretné a maximális értéket, az Azure PowerShell használatával frissítenie kell az AzureSSISMaxParallelExecutionsPerNode-ot. A megfelelő értéket a csomag költsége és a feldolgozó csomópontok alábbi konfigurációi alapján becsülheti meg. További információ: Általános célú virtuálisgép-méretek.

Méret vCPU Memória: GiB Ideiglenes tárterület (SSD) GiB Ideiglenes tárterület maximális teljesítménye: IOPS / Olvasási MBps / Írási MBps Adatlemezek max. száma / teljesítménye: IOPS Hálózati adapterek max. száma / várt hálózati teljesítmény (Mbps)
Standard_D1_v2 0 3,5 50 3000 / 46 / 23 2 / 2x500 2 / 750
Standard_D2_v2 2 7 100 6000 / 93 / 46 4 / 4x500 2 / 1500
Standard_D3_v2 4 14 200 12000 / 187 / 93 8 / 8x500 4 / 3000
Standard_D4_v2 8 28 400 24000 / 375 / 187 16 / 16x500 8 / 6000
Standard_A4_v2 4 8 40 4000 / 80 / 40 8 / 8x500 4 / 1000
Standard_A8_v2 8 16 80 8000 / 160 / 80 16 / 16x500 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 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 / 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 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 / 16000
Standard_E64_v3 64 432 1600 96000 / 1000 / 500 32 / 192x500 8 / 30000

Az Alábbiakban az AzureSSISMaxParallelExecutionsPerNode tulajdonság megfelelő értékének beállítására vonatkozó irányelveket találja:

  1. Először állítson be egy kis értéket.
  2. Növelje kis mennyiséggel annak ellenőrzéséhez, hogy a teljes átviteli sebesség javult-e.
  3. Állítsa le az érték növelését, ha a teljes átviteli sebesség eléri a maximális értéket.

SSISDBPricingTier

Az SSISDBPricingTier az Azure SQL Database-ben található SSIS Catalog-adatbázis (SSISDB) tarifacsomagja. Ez a beállítás befolyásolja az integrációs modul példányában található feldolgozók maximális számát, a csomagvégrehajtás várólistára helyezésének sebességét és a végrehajtási napló betöltésének sebességét.

  • Ha nem érdekli az üzenetsor-csomagok végrehajtásának sebessége és a végrehajtási napló betöltése, kiválaszthatja a legalacsonyabb adatbázis-tarifacsomagot. Az Azure SQL Database alapszintű díjszabással 8 feldolgozót támogat egy integrációs futtatókörnyezeti példányban.

  • Az Alapszintűnél hatékonyabb adatbázist akkor válasszon, ha a feldolgozók száma meghaladja a 8-at, vagy a magok száma meghaladja az 50-et. Ellenkező esetben az adatbázis lesz az integrációs futtatókörnyezeti példány szűk keresztmetszete, és a teljes teljesítmény negatívan befolyásolja.

  • Válasszon egy hatékonyabb adatbázist, például az s3-at, ha a naplózási szint részletesre van állítva. Nem hivatalos házon belüli tesztelésünk szerint az s3 tarifacsomag 2 csomóponttal, 128 párhuzamos számmal és részletes naplózási szinttel támogatja az SSIS-csomagok végrehajtását.

Az adatbázis tarifacsomagját az Azure Portalon elérhető adatbázis-tranzakciós egység (DTU) használati adatai alapján is módosíthatja.

Nagy teljesítményű rendszer tervezése

Az Azure-ban futtatandó SSIS-csomag tervezése eltér a helyszíni végrehajtáshoz szükséges csomagok tervezésétől. Ahelyett, hogy több független feladatot egyesítenél ugyanabban a csomagban, különítsd el őket több csomagra az Azure-SSIS integrációs modul hatékonyabb végrehajtása érdekében. Hozzon létre egy csomagvégrehajtást az egyes csomagokhoz, hogy ne kelljen megvárniuk, amíg egymás befejeződnek. Ez a megközelítés az Azure-SSIS integrációs modul méretezhetőségéből és az általános átviteli sebesség javításából származik.

További információ az Azure-SSIS integrációs modulról. Lásd: Azure-SSIS integrációs modul.