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&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 , 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.

SSIS Integration Runtime package execution speed

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.

SSIS Integration Runtime maximum overall throughput

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:

  1. İlk başta küçük bir değere ayarlayın.
  2. Genel aktarım hızının iyileştirilmiş olup olmadığını denetlemek için küçük bir miktar artırın.
  3. 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.

Azure-SSIS Integration Runtime hakkında daha fazla bilgi edinin. Bkz. Azure-SSIS Integration Runtime.