Azure-SSIS Integration Runtime'ı yüksek performans için yapılandırma
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
Bahşiş
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu makalede, yüksek performans için Azure-SSIS Integration Runtime'ın (IR) nasıl yapılandırıldığı açıklanır. Azure-SSIS IR, Sql Server Integration Services (SSIS) paketlerini Azure'da dağıtmanıza ve çalıştırmanıza olanak tanır. Azure-SSIS IR hakkında daha fazla bilgi için Tümleştirme çalışma zamanı makalesine bakın. Azure'da SSIS paketlerini dağıtma ve çalıştırma hakkında bilgi için bkz . SQL Server Integration Services iş yüklerini buluta kaldırma ve kaydırma.
Önemli
Bu makale, SSIS geliştirme ekibinin üyeleri tarafından yapılan şirket içi testlerden elde edilen performans sonuçlarını ve gözlemleri içerir. Sonuçlarınız farklılık gösterebilir. Hem maliyeti hem de performansı etkileyen yapılandırma ayarlarınızı sonlandırmadan önce kendi testinizi yapın.
Yapılandırılan özellikler
Yapılandırma betiğinin aşağıdaki bölümünde, Azure-SSIS Integration Runtime oluştururken yapılandırabileceğiniz özellikler gösterilir. Tam PowerShell betiği ve açıklaması için bkz . SQL Server Integration Services paketlerini Azure'a dağıtma.
# 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 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 , tümleştirme çalışma zamanı çalışan düğümü için konumdur. Çalışan düğümü, Azure SQL Veritabanı SSIS Kataloğu veritabanına (SSISDB) sabit bir bağlantı tutar. AzureSSISLocation'ı SSISDB'yi barındıran mantıksal SQL sunucusuyla aynı konuma ayarlayın ve bu da tümleştirme çalışma zamanının mümkün olduğunca verimli çalışmasını sağlar.
AzureSSISNodeSize
Azure-SSIS IR de dahil olmak üzere Data Factory aşağıdaki seçenekleri destekler:
- 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
SSIS mühendislik ekibinin resmi olmayan şirket içi testlerinde D serisi, SSIS paketi yürütme için A serisinden daha uygun görünüyor.
- D serisinin performans/fiyat oranı A serisinden, v3 serisinin performans/fiyat oranı ise v2 serisinden daha yüksektir.
- D serisinin aktarım hızı aynı fiyata A serisinden daha yüksektir ve v3 serisinin aktarım hızı aynı fiyata v2 serisinden daha yüksektir.
- Azure-SSIS IR'nin v2 serisi düğümleri özel kurulum için uygun değildir, bu nedenle lütfen bunun yerine v3 serisi düğümlerini kullanın. v2 serisi düğümlerini zaten kullanıyorsanız, lütfen mümkün olan en kısa sürede v3 serisi düğümlerini kullanmaya geçin.
- E serisi, diğer makinelere göre daha yüksek bellek-CPU oranı sağlayan bellek için iyileştirilmiş VM boyutlarıdır. Paketiniz çok fazla bellek gerektiriyorsa E serisi VM'yi seçebilirsiniz.
Yürütme hızı için yapılandırma
Çalıştırılacak çok fazla paketiniz yoksa ve paketlerin hızla çalışmasını istiyorsanız, senaryonuza uygun bir sanal makine türü seçmek için aşağıdaki grafikteki bilgileri kullanın.
Bu veriler, tek bir çalışan düğümünde tek bir paket yürütmeyi temsil eder. Paket, Azure Blob Depolama'dan ad ve soyadı sütunları içeren 3 milyon kayıt yükler, bir tam ad sütunu oluşturur ve tam adı 20 karakterden uzun olan kayıtları Azure Blob Depolama yazar.
y ekseni, yürütmeyi bir saat içinde tamamlayan paketlerin sayısıdır. Bunun yalnızca bir bellek tüketen paketin test sonucu olduğunu unutmayın. Paketinizin aktarım hızını öğrenmek istiyorsanız, testi kendiniz gerçekleştirmeniz önerilir.
Genel aktarım hızı için yapılandırma
Çalıştırılacak çok sayıda paketiniz varsa ve genel aktarım hızına en çok önem veriyorsanız, senaryonuza uygun bir sanal makine türü seçmek için aşağıdaki grafikteki bilgileri kullanın.
y ekseni, yürütmeyi bir saat içinde tamamlayan paketlerin sayısıdır. Bunun yalnızca bir bellek tüketen paketin test sonucu olduğunu unutmayın. Paketinizin aktarım hızını öğrenmek istiyorsanız, testi kendiniz gerçekleştirmeniz önerilir.
AzureSSISNodeNumber
AzureSSISNodeNumber , tümleştirme çalışma zamanının ölçeklenebilirliğini ayarlar. Tümleştirme çalışma zamanının aktarım hızı AzureSSISNodeNumber ile orantılıdır. AzureSSISNodeNumber değerini ilk başta küçük bir değere ayarlayın, tümleştirme çalışma zamanının aktarım hızını izleyin ve ardından senaryonuzun değerini ayarlayın. Çalışan düğümü sayısını yeniden yapılandırmak için bkz . Azure-SSIS tümleştirme çalışma zamanını yönetme.
AzureSSISMaxParallelExecutionsPerNode
Paketleri çalıştırmak için zaten güçlü bir çalışan düğümü kullanıyorsanız, AzureSSISMaxParallelExecutionsPerNode'un artırılması tümleştirme çalışma zamanının genel aktarım hızını artırabilir. Maksimum değeri artırmak istiyorsanız Azure PowerShell kullanarak AzureSSISMaxParallelExecutionsPerNode güncelleştirmeniz gerekir. Paketinizin maliyetine ve çalışan düğümleri için aşağıdaki yapılandırmalara göre uygun değeri tahmin edebilirsiniz. Daha fazla bilgi için bkz . Genel amaçlı sanal makine boyutları.
Size | Sanal işlemci | Bellek: GiB | Geçici depolama (SSD) GiB | Maksimum geçici depolama aktarım hızı: IOPS / Okuma MB/sn / Yazma MB/sn | Maksimum veri diski/aktarım hızı: IOPS | Maks NIC / Beklenen ağ performansı (Mbps) |
---|---|---|---|---|---|---|
Standard_D1_v2 | 1 | 3.5 | 50 | 3000/46/23 | 2/2x500 | 2 / 750 |
Standard_D2_v2 | 2 | 7 | Kategori 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 | Kategori 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 | Kategori 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 | Kategori 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 | Kategori 256 | 800 | 48000/750/375 | 32 / 96x500 | 8 / 16000 |
Standard_E64_v3 | 64 | 432 | 1600 | 96000 / 1000 / 500 | 32 / 192x500 | 8 / 30000 |
AzureSSISMaxParallelExecutionsPerNode özelliği için doğru değeri ayarlama yönergeleri aşağıdadır:
- İlk başta küçük bir değere ayarlayın.
- Genel aktarım hızının iyileştirilmiş olup olmadığını denetlemek için küçük bir miktar artırın.
- Genel aktarım hızı maksimum değere ulaştığında değeri artırmayı durdurun.
SSISDBPricingTier
SSISDBPricingTier, Azure SQL Veritabanı SSIS Kataloğu veritabanının (SSISDB) fiyatlandırma katmanıdır. Bu ayar, IR örneğindeki en fazla çalışan sayısını, paket yürütmeyi kuyruğa ekleme hızını ve yürütme günlüğünü yükleme hızını etkiler.
Paket yürütmeyi kuyruğa alma ve yürütme günlüğünü yükleme hızını önemsemiyorsanız, en düşük veritabanı fiyatlandırma katmanını seçebilirsiniz. Temel fiyatlandırma ile Azure SQL Veritabanı bir tümleştirme çalışma zamanı örneğinde 8 çalışanı destekler.
Çalışan sayısı 8'den fazlaysa veya çekirdek sayısı 50'den fazlaysa Temel'den daha güçlü bir veritabanı seçin. Aksi takdirde veritabanı tümleştirme çalışma zamanı örneğinin performans sorunu haline gelir ve genel performans olumsuz etkilenir.
Günlük düzeyi ayrıntılı olarak ayarlandıysa s3 gibi daha güçlü bir veritabanı seçin. Resmi olmayan şirket içi testlerimize göre, s3 fiyatlandırma katmanı 2 düğüm, 128 paralel sayı ve ayrıntılı günlük kaydı düzeyi ile SSIS paketi yürütmeyi destekleyebilir.
Veritabanı fiyatlandırma katmanını, Azure portalında bulunan veritabanı işlem birimi (DTU) kullanım bilgilerine göre de ayarlayabilirsiniz.
Yüksek performans tasarımı
Azure'da çalıştırılacak bir SSIS paketi tasarlamak, şirket içi yürütme için bir paket tasarlamaktan farklıdır. Birden çok bağımsız görevi aynı pakette birleştirmek yerine, Azure-SSIS IR'de daha verimli yürütme için bunları birkaç pakete ayırın. Her paket için bir paket yürütmesi oluşturun; böylece birbirlerinin bitmesini beklemeleri gerekmez. Bu yaklaşım, Azure-SSIS tümleştirme çalışma zamanının ölçeklenebilirliğinden yararlanır ve genel aktarım hızını geliştirir.
İlgili içerik
Azure-SSIS Integration Runtime hakkında daha fazla bilgi edinin. Bkz. Azure-SSIS Integration Runtime.