Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Otomatik ölçeklendirme, uygulamanızdaki yükü işlemek için doğru kaynak miktarına sahip olduğunuzdan emin olur. Yük artışlarını işlemek için kaynaklar ekler ve ayrıca boşta olan kaynakları kaldırarak tasarruf sağlar. Azure İzleyici Otomatik Ölçeklendirme özelliği hakkında daha fazla bilgi edinmek için bkz. Microsoft Azure'da otomatik ölçeklendirmeye ilişkin genel bakış.
Service Bus Premium Mesajlaşma, her müşteri iş yükünün yalıtılarak çalışması için CPU ve bellek düzeyinde kaynak yalıtımı sağlar. Bu kaynak kapsayıcısı mesajlaşma birimi olarak adlandırılır. Mesajlaşma birimleri hakkında daha fazla bilgi edinmek için bkz. Service Bus Premium Messaging.
Service Bus premium ad alanları için Otomatik Ölçeklendirme özelliğini kullanarak, en az ve en fazla mssaging birimi belirtebilir ve bir dizi kurala göre otomatik olarak mesajlaşma birimleri ekleyebilir veya kaldırabilirsiniz.
Örneğin, Otomatik Ölçeklendirme özelliğini kullanarak Service Bus ad alanları için aşağıdaki ölçeklendirme senaryolarını uygulayabilirsiniz:
- Ad alanının CPU kullanımı 75%üzerine çıktığında Service Bus ad alanı için mesajlaşma birimlerini artırın.
- Ad alanının CPU kullanımı 25%altına indiğinde Service Bus ad alanı için mesajlaşma birimlerini azaltın.
- İş saatleri içinde daha fazla ve kapalı saatlerde daha az mesajlaşma birimi kullanın.
Bu makalede, Azure portalı ve Azure Resource Manager şablonunu kullanarak bir Service Bus ad alanının (iletişim birimlerini güncelleyerek) nasıl otomatik olarak ölçeklendirileceği gösterilir.
Önemli
Bu makale yalnızca Azure Service Bus premium katmanı için geçerlidir.
Azure portalını kullanarak yapılandırma
Bu bölümde, Azure portalını kullanarak bir Service Bus ad alanı için mesajlaşma birimlerinin otomatik ölçeklendirmesini yapılandırmayı öğreneceksiniz.
Otomatik ölçeklendirme ayarı sayfası
İlk olarak, Service Bus ad alanınızın Autoscale settings sayfasına gitmek için bu adımları izleyin.
Azure portalında oturum açın.
Arama çubuğuna Service Bus yazın, listeden Service Bus öğesini seçin ve Enter tuşlarına basın.
Namespace listesinden premium namespace'inizi seçin.
Ölçek sayfasına geçin.
Manuel ölçekleme
Ad alanı için sabit sayıda mesajlaşma birimi ayarlamak için bu ayarı kullanın.
Otomatik ölçeklendirme ayarı sayfasında, henüz seçili değilse El ile ölçeklendirme'yi seçin.
Mesajlaşma birimleri ayarı için listeden mesajlaşma birimi sayısını seçin.
Ayarı kaydetmek için araç çubuğunda Kaydet'i seçin.
Özel otomatik ölçeklendirme - Varsayılan koşul
Koşulları kullanarak mesajlaşma birimlerinin otomatik ölçeklendirmesini yapılandırabilirsiniz. Bu ölçek koşulu, diğer ölçek koşullarından hiçbiri eşleşmediğinde çalışır. Varsayılan koşulu aşağıdaki yollardan biriyle ayarlayın:
- CPU veya bellek kullanımı gibi bir ölçüme göre ölçeklendirme
- Belirli sayıda mesajlaşma birimine ölçeklendirin
Varsayılan koşul için belirli gün veya tarih aralıklarında otomatik ölçeklendirme yapmak üzere bir zamanlama ayarlayamazsınız. Bu ölçek koşulu, zamanlamaları olan diğer ölçek koşullarının hiçbiri eşleşmediğinde çalışır.
Önemli
Otomatik ölçeklendirmeyi ayarlarken hem bellek hem de CPU kritik kaynaklardır. Her ikisi için de ölçeği artırma ve ölçeği azaltma kuralları oluşturun.
Not
alma aktarım hızını geliştirmek için Service Bus bazı iletileri önbelleğinde tutar. Service Bus önbelleği yalnızca bellek kullanımı 80%gibi belirli bir yüksek eşiği aştığında kırpır. Bir varlık ileti gönderir ancak bunları almazsa, önbelleğe alınan iletiler daha fazla bellek kullanımına yansır. Normalde, Service Bus gerekirse önbelleği azalttığı ve sonunda bellek kullanımının azalmasına neden olduğu için bu durum sorun oluşturmaz. Ancak, bellek kullanımı hızlı bir şekilde artaabildikçe ileti işlemenizin kesintiye uğramasını önlemek için 60% bellek kullanımı ölçeğini artırın.
Bir ölçümü temel alan ölçek
Aşağıdaki yordamda, CPU kullanımı %75'ten büyük olduğunda mesajlaşma birimlerini otomatik olarak artırmaya (ölçeği genişletmeye) ve CPU kullanımı %25'in altında olduğunda mesajlaşma birimlerini (ölçeği daraltma) azaltmaya yönelik bir koşul ekleme işlemi gösterilmektedir. Artışlar 1'den 2'ye, 2'den 4'e, 4'ten 8'e ve 8'den 16'ya yapılır. Benzer şekilde, azaltmalar 16'dan 8'e, 8'den 4'e, 4'ten 2'ye ve 2'den 1'e kadar yapılır.
Otomatik ölçeklendirme ayarında, Kaynağınızın nasıl ölçeklendirileceğini seçin seçeneği için Özel otomatik ölçeklendirme'yi seçin.
Sayfanın Varsayılan bölümünde, varsayılan koşul için bir ad girin. Metni düzenlemek için kalem simgesini seçin.
Ölçek modunu bir ölçüte dayalı ölçekleme olarak seçin.
+ Kural ekle'yi seçin.
Ölçek kuralında şu adımları izleyin:
Ölçüm adı açılır listesinden bir ölçüm seçin. Bu örnekte CPU'dur.
Bir işleç ve eşik değerleri seçin. Bu örnekte, ölçek eylemini tetiklemek için Ölçüm eşiği için büyüktür ve 75'tir.
Eylem bölümünden bir işlem seçin. Bu örnekte Artır olarak ayarlanmıştır.
Ardından Ekle'yi seçin.
Not
Genel CPU kullanımı bu örnekte %75'in üzerine çıkarsa, otomatik ölçeklendirme özelliği ad alanı için mesajlaşma birimlerini artırır. Artışlar 1'den 2'ye, 2'den 4'e, 4'ten 8'e ve 8'den 16'ya yapılır.
+ Kural ekle'yi yeniden seçin ve Ölçek kuralında şu adımları izleyin:
Ölçüm adı açılan listesinden bir ölçüm seçin. Bu örnekte CPU belirtilmiştir.
Bir işleç ve eşik değerleri seçin. Bu örnekte, ölçek eylemini tetiklemek için ölçüm eşiği25'ten daha küçüktür.
Eylem bölümünden bir işlem seçin. Bu örnekte Azalt olarak ayarlanmıştır.
Ardından Ekle'yi seçin.
Not
Genel CPU kullanımı bu örnekte %25'in altına iniyorsa, otomatik ölçeklendirme özelliği ad alanının mesajlaşma birimlerini azaltır. Azaltmalar 16'dan 8'e, 8'den 4'e, 4'ten 2'ye ve 2'den 1'e kadar yapılır.
En düşük, en yüksek ve varsayılan mesajlaşma birimi sayısını ayarlayın.
Otomatik ölçeklendirme ayarını kaydetmek için araç çubuğunda Kaydet'i seçin.
Belirli sayıda mesajlaşma birimine ölçeklendirin
Belirli sayıda mesajlaşma birimi kullanmak üzere ad alanını ölçeklendirmek üzere kuralı yapılandırmak için bu adımları izleyin. Varsayılan koşul, diğer ölçek koşullarından hiçbiri eşleşmediğinde uygulanır.
Otomatik ölçeklendirme ayarında, Kaynağınızın nasıl ölçeklendirileceğini seçin seçeneği için Özel otomatik ölçeklendirme'yi seçin.
Sayfanın Varsayılan bölümünde, varsayılan koşul için bir ad girin.
Ölçek modu için
Belirli mesajlaşma birimlerine ölçeklendir 'i seçin. Mesajlaşma birimleri için varsayılan mesajlaşma birimi sayısını seçin.
Özel otomatik ölçeklendirme - ek koşullar
Önceki bölümde otomatik ölçeklendirme ayarı için varsayılan koşulun nasıl ekleneceği gösterilmektedir. Bu bölümde, otomatik ölçeklendirme ayarına nasıl daha fazla koşul ekleneceği gösterilmektedir. Bu ek varsayılan olmayan koşullar için, haftanın belirli günlerine veya tarih aralığına göre bir zamanlama ayarlayabilirsiniz.
Bir ölçümü temel alan ölçek
Otomatik ölçeklendirme ayarında, Kaynağınızın nasıl ölçeklendirileceğini seçin seçeneği için Özel otomatik ölçeklendirme'yi seçin.
Varsayılan bloğu altında Ölçek koşulu ekle'yi seçin.
Koşul için bir ad girin.
Ölçüme göre ölçeklendir seçeneğinin belirlendiğini onaylayın.
Genel CPU kullanımı %75'in üzerine çıktığında mesajlaşma birimlerini artırmak için + Kural ekle'yi seçin. Varsayılan koşul bölümündeki adımları izleyin.
En düşük, en yüksek ve varsayılan mesajlaşma birimi sayısını ayarlayın.
Özel bir koşulda (varsayılan koşulda değil) bir zamanlama ayarlayın. Koşul için başlangıç ve bitiş tarihlerini belirtebilir veya haftanın belirli günlerini (Pazartesi, Salı vb.) seçebilirsiniz.
Başlangıç/bitiş tarihlerini belirtin'i seçerseniz, koşulun geçerli olması için Saat Dilimi, Başlangıç tarihi ve saative Bitiş tarihi ve saatini (aşağıdaki resimde gösterildiği gibi) seçin.
Belirli günleri yinele'yi seçerseniz, koşulun geçerli olması gereken haftanın günlerini, saat dilimini, başlangıç saatini ve bitiş saatini seçin.
Belirli sayıda mesajlaşma birimine ölçeklendirin
Otomatik ölçeklendirme ayarında, Kaynağınızın nasıl ölçeklendirileceğini seçin seçeneği için Özel otomatik ölçeklendirme'yi seçin.
Varsayılan bloğu altında Ölçek koşulu ekle'yi seçin.
Koşul için bir ad girin.
Ölçek modu için belirli mesajlaşma birimlerine ölçeklendir seçeneğini belirleyin.
Açılan listeden mesajlaşma birimi sayısını seçin.
Zamanlama için, koşul için başlangıç ve bitiş tarihlerini belirtin ya da bir hafta ve saat için belirli günleri (Pazartesi, Salı vb.) seçin.
- Başlangıç/bitiş tarihlerini belirtin'i seçerseniz, koşulun geçerli olması için Saat Dilimi, Başlangıç tarihi ve saative Bitiş tarihi ve saati'ni seçin.
- Belirli günleri yinele'yi seçerseniz, koşulun geçerli olması gereken haftanın günlerini, saat dilimini, başlangıç saatini ve bitiş saatini seçin.
Otomatik ölçeklendirme ayarlarının nasıl çalıştığı hakkında daha fazla bilgi edinmek için, özellikle de bir profili veya koşulu seçme ve birden çok kuralı değerlendirme hakkında daha fazla bilgi edinmek için bkz . Otomatik Ölçeklendirme ayarlarını anlama.
Not
- Otomatik ölçeklendirmeyle ilgili kararlar almak için gözden geçirdiğiniz ölçümler 5-10 dakikalık olabilir. Yüksek iş yükleriyle uğraşırken, ölçeği artırmak için daha kısa süreler ve ölçeği küçültmek için daha uzun süreler kullanın. Saat başına Service Bus Premium ücretlendirmesi nedeniyle ölçeğin hızla azaltılması o saatin maliyetlerini azaltmaz. Bunun yerine, ölçek küçültmeden önce azaltılan iş yükünün kararlı olduğundan emin olmak amacıyla ölçek küçültme bekleme süresini 30 dakikadan uzun tutun. Bu koşul, yoğun iş yüklerini işlemek için yeterli mesajlaşma birimi olmasını sağlar ve aşırı sınırlamaya yol açabilecek zamansız bir ölçek azaltmayı önler.
Ölçeği daraltırken eşiği ölçeği artırma eşiğinin yarısından az olacak şekilde ayarlayın. Örneğin, ölçeği artırma eşiği 80%ise sürekli ölçeği artırmayı ve azaltmayı önlemek için ölçeği azaltma eşiğini 30-35% (40%'ın altındaki bir değer) olarak ayarlayın. Bu ayar, otomatik ölçeklendirmenin sürekli olarak ölçeği artırma ve azaltma arasında geçiş yapmasını engeller.
- Kapasite yetersizliği (kullanılabilir mesajlaşma birimi yok) nedeniyle hatalar görürseniz bir destek bileti oluşturun. Kapasitenin karşılanması, ortamın kısıtlamalarına tabidir ve en iyi çabayla gerçekleştirilir.
Çalıştırma geçmişi
Otomatik ölçeklendirme altyapısı tarafından gözlemlenen ileti birimi sayısını çizen bir grafik görmek için Ölçek sayfasındaki Çalıştırma geçmişi sekmesine geçin. Grafik boşsa, otomatik ölçeklendirme yapılandırılmamış, yapılandırılmamış ama devre dışı bırakılmış veya bekleme süresi içinde demektir.
Bildirimler
Ölçek sayfasındaki Bildirim sekmesine şu şekilde geçin:
Yöneticilere, ortak yöneticilere ve diğer yöneticilere bildirim e-postaları göndermeyi etkinleştirin.
Web kancaları tarafından kullanıma sunulan bir HTTP veya HTTPS uç noktalarına bildirim e-postaları göndermeyi etkinleştirin.
Resource Manager şablonu kullanarak yapılandırma
Kuyrukla Service Bus ad alanı oluşturmak ve ad alanı için otomatik ölçeklendirme ayarlarını yapılandırmak için aşağıdaki örnek Resource Manager şablonunu kullanabilirsiniz. Bu örnekte iki ölçek koşulu belirtilir.
- Varsayılan ölçek koşulu: Ortalama CPU kullanımı %75'in üzerine çıktığında mesajlaşma birimlerini artırın ve ortalama CPU kullanımı %25'in altına düştüğünde mesajlaşma birimlerini azaltın.
- Hafta sonları ad alanına iki mesajlaşma birimi atayın.
Şablon
{
"$schema": "https: //schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "String",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "String",
"metadata": {
"description": "Name of the Queue"
}
},
"autoScaleSettingName": {
"type": "String",
"metadata": {
"description": "Name of the auto scale setting."
}
},
"location": {
"defaultValue": "[resourceGroup().location]",
"type": "String",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2021-11-01",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Premium"
},
"properties": {}
},
{
"type": "Microsoft.ServiceBus/namespaces/queues",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', parameters('serviceBusNamespaceName'), parameters('serviceBusQueueName'))]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"lockDuration": "PT5M",
"maxSizeInMegabytes": 1024,
"requiresDuplicateDetection": false,
"requiresSession": false,
"defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
"deadLetteringOnMessageExpiration": false,
"duplicateDetectionHistoryTimeWindow": "PT10M",
"maxDeliveryCount": 10,
"autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
"enablePartitioning": false,
"enableExpress": false
}
},
{
"type": "Microsoft.Insights/autoscaleSettings",
"apiVersion": "2021-05-01-preview",
"name": "[parameters('autoScaleSettingName')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"tags": {},
"properties": {
"name": "[parameters('autoScaleSettingName')]",
"enabled": true,
"predictiveAutoscalePolicy": {
"scaleMode": "Disabled",
"scaleLookAheadTime": null
},
"targetResourceUri": "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]",
"profiles": [{
"name": "Increase messaging units to 2 on weekends",
"capacity": {
"minimum": "2",
"maximum": "2",
"default": "2"
},
"rules": [],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "Eastern Standard Time",
"days": [
"Saturday",
"Sunday"
],
"hours": [
6
],
"minutes": [
0
]
}
}
},
{
"name": "{\"name\":\"Scale Out at 75% CPU and Scale In at 25% CPU\",\"for\":\"Increase messaging units to 4 on weekends\"}",
"capacity": {
"minimum": "1",
"maximum": "8",
"default": "2"
},
"rules": [{
"scaleAction": {
"direction": "Increase",
"type": "ServiceAllowedNextValue",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "NamespaceCpuUsage",
"metricNamespace": "microsoft.servicebus/namespaces",
"metricResourceUri": "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]",
"operator": "GreaterThan",
"statistic": "Average",
"threshold": 75,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": false
}
},
{
"scaleAction": {
"direction": "Decrease",
"type": "ServiceAllowedNextValue",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "NamespaceCpuUsage",
"metricNamespace": "microsoft.servicebus/namespaces",
"metricResourceUri": "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]",
"operator": "LessThan",
"statistic": "Average",
"threshold": 25,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": false
}
}
],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "Eastern Standard Time",
"days": [
"Saturday",
"Sunday"
],
"hours": [
18
],
"minutes": [
0
]
}
}
}
],
"notifications": [],
"targetResourceLocation": "East US"
}
}
]
}
Azure portalından otomatik ölçeklendirme ayarı kaynağı için bir JSON örneği de oluşturabilirsiniz. Azure portalında otomatik ölçeklendirme ayarlarını yapılandırdıktan sonra, Scale sayfasının komut çubuğunda JSON seçin.
Ardından, önceki örnekte gösterildiği gibi JSON'yi bir Resource Manager şablonunun resources bölümüne ekleyin.
Dikkat edilecek diğer noktalar
Varsayılan koşul veya profille Özel otomatik ölçeklendirme seçeneğini kullandığınızda, mesajlaşma birimi sayısı (1, 2, 4, 8, 16) artar veya yavaş yavaş azalır (16, 8, 4, 2, 1).
Ek koşullar oluşturduğunuzda, mesajlaşma birimi sayısı kademeli olarak artmayabilir veya azalmayabilir. Aşağıdaki örnekte gösterildiği gibi iki profil tanımladığınız varsayın. Utc saat 06:00'da, mesajlaşma birimi sayısı 16 olarak ayarlanır ve 21:00 UTC'de bu sayı 1'e indirilir.
{
"Profiles": [
{
"Name": "standardProfile",
"Capacity": {
"Minimum": "16",
"Maximum": "16",
"Default": "16"
},
"Rules": [],
"Recurrence": {
"Frequency": "Week",
"Schedule": {
"TimeZone": "UTC",
"Days": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"
],
"Hours": [6],
"Minutes": [0]
}
}
},
{
"Name": "outOfHoursProfile",
"Capacity": {
"Minimum": "1",
"Maximum": "1",
"Default": "1"
},
"Rules": [],
"Recurrence": {
"Frequency": "Week",
"Schedule": {
"TimeZone": "UTC",
"Days": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"Hours": [21],
"Minutes": [0]
}
}
}
]
}
Mesajlaşma birimi sayısını kademeli olarak artıran veya azaltan kurallar oluşturun.
Sonraki adımlar
Mesajlaşma birimleri hakkında bilgi edinmek için bkz. Premium mesajlaşma.