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.
Öncelik tabanlı yürütme, kullanıcıların Azure Cosmos DB'ye gönderilen isteklerin önceliğini belirtmesine olanak tanır. İstek sayısının yapılandırılan saniyede İstek Birimleri (RU/sn) içinde işlenebilen kapasiteyi aştığı durumlarda Azure Cosmos DB, yüksek öncelikli isteklerin yürütülmesine öncelik vermek için düşük öncelikli istekleri kısıtlar.
Bu özellik, yüksek yük senaryolarında kapsayıcının toplam tüketimi yapılandırılan RU/sn değerini aştığında, öncelikle düşük öncelikli istekler için hız sınırlama önlemleri uygulayarak kullanıcıların kritik görevleri yürütmesini sağlar. SDK kullanan tüm istemci uygulamaları, yapılandırılan yeniden deneme ilkesine uygun olarak düşük öncelikli istekleri yeniden dener.
Note
Öncelik tabanlı yürütme özelliği, düşük öncelikli isteklerin yüksek öncelikliler lehine her zaman sınırlandırılacağını garanti etmez. Bu, en iyi çaba temelinde çalışır ve özelliğin performansına bağlı SLA'lar yoktur.
Kullanım örnekleri
Uygulamanız aynı kapsayıcıda çalışan iş yükleri için farklı önceliklere sahip olduğunda öncelik tabanlı yürütmeyi kullanabilirsiniz. Örneğin
- Okuma, yazma veya sorgu işlemlerinin önceliklerini belirleme.
- Kullanıcı eylemlerini ve arka plan işlemlerinin önceliklerini belirleme
- Saklanan prosedürler
- Veri alımı/geçiş
Başlangıç Yapmak
Öncelik tabanlı yürütmeyi kullanmaya başlamak için Azure Cosmos DB hesabınızdaki Özellikler sayfasına gidin. Öncelik tabanlı yürütme özelliğini seçin ve etkinleştirin.
SDK gereksinimleri
- .NET v3: v3.38.0 veya üstü
- Java v4: v4.45.0 veya üstü
- Spark 3.2: v4.19.0 veya üzeri
- JavaScript v4: v4.0.0 veya üstü
- Python: v4.5.2b2 veya üzeri. Yalnızca önizleme sürümünde kullanılabilir.
Kod örnekleri
using Microsoft.Azure.Cosmos;
//update products catalog with low priority
RequestOptions catalogRequestOptions = new ItemRequestOptions{PriorityLevel = PriorityLevel.Low};
PartitionKey pk = new PartitionKey(“productId1”);
ItemResponse<Product> catalogResponse = await this.container.CreateItemAsync<Product>(product1, pk, requestOptions);
//Display product information to user with high priority
RequestOptions getProductRequestOptions = new ItemRequestOptions{PriorityLevel = PriorityLevel.High};
string id = “productId2”;
PartitionKey pk = new PartitionKey(id);
ItemResponse<Product> productResponse = await this.container.ReadItemAsync< Product>(id, pk, getProductRequestOptions);
Öncelik tabanlı yürütmeyi izleme
Azure portalda Azure İzleyici ölçümlerini kullanarak düşük ve yüksek öncelikli isteklerin davranışını izleyebilirsiniz. Ölçümler hakkında daha fazla bilgi edinmek için bkz . Azure İzleyici ölçümleri.
Cosmos DB hesabının varsayılan öncelik düzeyini değiştirme
Öncelik tabanlı yürütme etkinleştirildiyse ve kullanıcı tarafından bir istek için öncelik düzeyi belirtilmemişse, bu tür isteklerin tümü yüksek öncelikli olarak yürütülür. Azure CLI kullanarak Cosmos DB hesabındaki isteklerin varsayılan öncelik düzeyini değiştirebilirsiniz.
Azure CLI
Azure CLI sürüm 2.81.0 veya üzerini yükleme
# set subscription context
az account set -s $SubscriptionId
# Enable priority-based execution
az cosmosdb update `
-g <resource-group> `
-n <account-name> `
--enable-priority-based-execution true
# change default priority level
az cosmosdb update `
-g <resource-group> `
-n <account-name> `
--default-priority-level low
Azure PowerShell
# Install module Az.CosmosDB 1.19.0 or later
Install-Module -Name Az.CosmosDB -Force
# Login and Set Subscription
Connect-AzAccount
Set-AzContext -Subscription <subscription-id>
# Enable Priority Based Execution
Update-AzCosmosDBAccount `
-ResourceGroupName "<resource-group>" `
-Name "<account-name>" `
-EnablePriorityBasedExecution $true
# Set Default Priority Level
Update-AzCosmosDBAccount `
-ResourceGroupName "<resource-group>" `
-Name "<account-name>" `
-DefaultPriorityLevel "Low"
Veri gezgini önceliği
Cosmos DB hesabı için Öncelik tabanlı yürütme etkinleştirildiğinde, Azure portalının Veri Gezgini tüm istekler düşük öncelikli olarak yürütülür. Veri Gezgini Ayarlar menüsündeki öncelik ayarını değiştirerek bunu ayarlayabilirsiniz.
Note
Bu istemci tarafı yapılandırması yalnızca ilgili kullanıcının Veri gezgini görünümüne özgüdür ve diğer kullanıcıların Veri gezgini öncelik düzeyini veya Cosmos DB hesabının varsayılan öncelik düzeyini etkilemez.
Sınırlamalar
- Öncelik tabanlı yürütme şu anda sunucusuz veritabanı hesapları için desteklenmiyor.
- Öncelik tabanlı yürütme özelliğinin davranışı, paylaşılan aktarım hızı veritabanı kapsayıcıları için belirleyici değildir.
- Güçlü ve sınırlanmış eskime tutarlılığı düzeyleri için okuma isteği önceliklendirmesi, düşük öncelikli yazma isteklerinin, yüksek öncelikli okuma trafiğinden bağımsız olarak yürütülmesine izin vererek, etkili çalışmayabilir.
Sonraki Adımlar
- Öncelik tabanlı yürütmeyle ilgili Sıkça Sorulan Sorular'a bakın.
- Patlama kapasitesi hakkında daha fazla bilgi edinin