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®ions=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®ions=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.
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.
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:
- Először állítson be egy kis értéket.
- Növelje kis mennyiséggel annak ellenőrzéséhez, hogy a teljes átviteli sebesség javult-e.
- Á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.
Kapcsolódó tartalom
További információ az Azure-SSIS integrációs modulról. Lásd: Azure-SSIS integrációs modul.