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.
ŞUNLAR IÇIN GEÇERLIDIR:
NoSQL
MongoDB
Cassandra
Gremlin
Masa
Azure Cosmos DB için Azure İzleyici, hesabınızı izlemek ve panolar oluşturmak için bir ölçüm görünümü sağlar. Azure Cosmos DB ölçümleri varsayılan olarak toplanır. Bu özellik, herhangi bir şeyi açıkça etkinleştirmenizi veya yapılandırmanızı gerektirmez.
Ölçüm tanımı
Normalleştirilmiş RU Tüketimi , bir veritabanı veya kapsayıcıda sağlanan aktarım hızının kullanımını ölçmeye yardımcı olmak için kullanılan 0% ile 100% arasında bir ölçümdür. Ölçüm 1 dakikalık aralıklarla yayılır ve zaman aralığındaki tüm bölüm anahtarı aralıklarında saniye başına en fazla İstek Birimi (RU/sn) kullanımı olarak tanımlanır. Her bölüm anahtarı aralığı bir fiziksel bölüme eşlenir ve bir dizi olası karma değer için verileri tutmak üzere atanır. Genel olarak, normalleştirilmiş RU yüzdesi ne kadar yüksekse, sağlanan aktarım hızınızı o kadar fazla kullandınız. Ölçüm, bir veritabanı veya kapsayıcıdaki tek tek bölüm anahtarı aralıklarının kullanımını görüntülemek için de kullanılabilir.
Örneğin, maksimum aktarım hızını 20.000 RU/sn (2000 - 20.000 RU/sn arasında ölçeklenir) ayarladığınız ve iki bölüm anahtarı aralığınız (fiziksel bölümler) P1 ve P2 olan bir kapsayıcınız olduğunu varsayalım. Azure Cosmos DB sağlanan aktarım hızını tüm bölüm anahtarı aralıklarına eşit olarak dağıttığı için P1 ve P2'nin her biri 1000 - 10.000 RU/sn arasında ölçeklendirilebilir. 1 dakikalık bir aralıkta, belirli bir saniyede P1'in 6.000 RU ve P2'nin 8.000 RU tükettiğini varsayalım. P1'in normalleştirilmiş RU tüketimi P2 için %60 ve %80'dir. Kapsayıcının tamamının genel normalleştirilmiş RU tüketimi MAX(%60, %80 = %80) şeklindedir.
İstek birimi tüketimini saniye başına bir aralıkta ve işlem türüyle birlikte görmek istiyorsanız, kabul etme tanılama günlüklerini kullanabilir ve PartitionKeyRUConsumption tablosunu sorgulayabilirsiniz. Uygulamanızın Azure Cosmos DB kaynağında gerçekleştirdiği işlemlere ve durum koduna üst düzey bir genel bakış elde etmek için yerleşik Azure İzleyici Toplam İstekleri (NoSQL için API), Mongo İstekleri, Gremlin İstekleri veya Cassandra İstekleri ölçümünü kullanabilirsiniz. Daha sonra bu istekleri 429 durum koduna göre filtreleyebilir ve İşlem Türüne göre bölebilirsiniz.
Normalleştirilmiş RU/sn daha yüksek olduğunda neler beklenip yapılması gerekir?
Normalleştirilmiş RU tüketimi belirli bir bölüm anahtarı aralığı için 100% ulaştığında ve bir istemci bu belirli bölüm anahtarı aralığına 1 saniyelik bir zaman penceresinde hala istekte bulunursa hız sınırlı bir hata (429) alır.
Bu, kaynağınızla ilgili bir sorun olduğu anlamına gelmez. Varsayılan olarak, Azure Cosmos DB istemci SDK'ları ve Azure Data Factory ve toplu yürütücü kitaplığı gibi veri içeri aktarma araçları istekleri 429'larda otomatik olarak yeniden dener. Genellikle en fazla dokuz kez yeniden dener. Sonuç olarak ölçümlerde 429'ları görebilirsiniz ancak bu hatalar uygulamanıza döndürülmemiş bile olabilir.
Genel olarak, bir üretim iş yükü için 429s ile 1-5% arasında istek görürseniz ve uçtan uca gecikmeniz kabul edilebilirse, bu RU/sn'lerin tam olarak kullanıldığına ilişkin iyi durumda bir işarettir. Bu durumda, %100'e ulaşan normalleştirilmiş RU tüketim ölçümü, belirli bir saniyede en az bir bölüm anahtarı aralığının sağlanan tüm aktarım hızını kullandığı anlamına gelir. 429 hatalarının genel oranı hala düşük olduğundan bu kabul edilebilir bir durumdur. Başka bir eylem gerekli değildir.
Azure Cosmos DB hesabınızda, Insights>İstekler>Durum Kodu ile Toplam İstek'e giderek, veritabanınıza veya kapsayıcınıza yönelik isteklerinizin yüzde kaçının 429 ile sonuçlandığını belirleyin. Belirli bir veritabanı ve kapsayıcıya göre filtreleyin. Gremlin API'sinde Gremlin İstekleri ölçümünü kullanın.
Normalleştirilmiş RU tüketim ölçümü birden çok bölüm anahtarı aralığında tutarlı olarak %100 ise ve 429s oranı %5'in üzerindeyse, aktarım hızının artırılması önerilir. Azure izleyici ölçümlerini ve Azure izleyici tanılama günlüklerini kullanarak hangi işlemlerin yoğun olduğunu ve en yüksek kullanımlarının ne olduğunu öğrenebilirsiniz. En iyi yöntemler hakkında bilgi edinmek için bkz. Sağlanan aktarım hızını (RU/sn) ölçeklendirmeye yönelik en iyi yöntemler.
Normalleştirilmiş RU 100%ulaştığında her zaman bir 429 hız sınırlama hatası görmezsiniz. Bunun nedeni, normalleştirilmiş RU'nun tüm bölüm anahtarı aralıkları üzerindeki maksimum kullanımı temsil eden tek bir değer olmasıdır. Bir bölüm anahtarı aralığı meşgul olabilir, ancak diğer bölüm anahtarı aralıkları isteklere sorunsuz bir şekilde hizmet verebilir. Örneğin, bir bölüm anahtarı aralığındaki tüm RU/sn'leri tüketen saklı yordam gibi tek bir işlem, normalleştirilmiş RU tüketimi metrikinde kısa bir ani artışa neden olur. Bu gibi durumlarda, genel istek oranı düşükse veya farklı bölüm anahtarı aralıklarındaki diğer bölümlere istekler yapıldığında hemen hız sınırlama hatası olmaz.
Daha fazla bilgi edinmek için bkz. 429 özel durumlarını tanılama ve giderme.
Sık erişimli bölümleri izleme
Normalleştirilmiş RU tüketimi ölçümü, iş yükünüzün sık erişimli bir bölüme sahip olup olmadığını izlemek için kullanılabilir. Sık erişimli bölüm, bir veya birkaç mantıksal bölüm anahtarı daha yüksek istek hacmi nedeniyle toplam RU/sn'nin orantısız bir miktarını tükettiğinde ortaya çıkar. Bunun nedeni istekleri eşit olarak dağıtmayan bir bölüm anahtarı tasarımı olabilir. Birçok isteğin, bölüm anahtarı aralıkları anlamına gelen mantıksal bölümlerin küçük bir kısmına yönlendirilmesiyle, yoğun erişim yaşanmasına yol açar. Mantıksal bölümün tüm verileri bir bölüm anahtarı aralığında bulunduğundan ve toplam RU/sn tüm bölüm anahtarı aralıkları arasında eşit olarak dağıtıldığı için, yüksek yoğunluklu bir bölüm 429 hatalarına ve aktarım hızının verimsiz bir kullanımına yol açabilir.
Sık erişimli bölümü tanımlama
Sık erişimli bölüm olup olmadığını doğrulamak için İçgörü aktarım>> bölümüne gidin. Belirli bir veritabanı ve kapsayıcıya göre filtreleyin.
Her PartitionKeyRangeId, bir fiziksel bölüme eşler. Normalleştirilmiş RU tüketimi diğerlerinden daha yüksek olan bir PartitionKeyRangeId varsa (örneğin, biri sürekli 100%'da, ancak diğerleri 30% veya daha az olduğunda), bu bir sıcak bölümün işareti olabilir.
En çok RU/sn tüketen mantıksal bölümleri tanımlamak için bkz. Sıcak bölümü tanımlama.
Normalleştirilmiş RU tüketimi ve otomatik ölçeklendirme
En az bir bölümleme anahtar aralığı herhangi bir zaman aralığında herhangi bir saniyede ayrılmış tüm RU/sn değerini kullanıyorsa, normalleştirilmiş RU tüketimi ölçümü 100% olarak gösterilir. Sık sorulan sorulardan biri, ru tüketiminin neden %100'de normalleştirildiği, ancak Azure Cosmos DB'nin ru/sn'leri otomatik ölçeklendirme ile maksimum aktarım hızına ölçeklendirmediğidir.
Not
Aşağıdaki bilgiler otomatik ölçeklendirmenin geçerli uygulamasını açıklar ve gelecekte değiştirilebilir.
Otomatik ölçeklendirmeyi kullandığınızda Azure Cosmos DB, 5 saniyelik bir aralıkta sürekli ve sürekli bir süre boyunca normalleştirilmiş RU tüketimi %100 olduğunda RU/sn'yi yalnızca maksimum aktarım hızına ölçeklendirir. Bu, tek ve anlık ani artışların gereksiz ölçeklendirmeye ve daha yüksek maliyete yol açmamasını sağladığından ölçeklendirme mantığının kullanıcıya uygun maliyetli olmasını sağlamak için yapılır. Anlık ani artışlar olduğunda, sistem genellikle daha önce RU/sn olarak ölçeklendirilen değerden daha yüksek ancak en yüksek RU/sn'den daha düşük bir değere ölçeklendirilir.
Örneğin, en yüksek aktarım hızı 20.000 RU/sn (2000 - 20.000 RU/sn arasında ölçeklendirilir) ve iki bölüm anahtarı aralığına sahip bir kapsayıcınız olduğunu varsayalım. Her bölüm anahtarı aralığı 1000 - 10.000 RU/sn arasında ölçeklendirilebilir. Otomatik ölçeklendirme tüm gerekli kaynakları önceden sağladığından, istediğiniz zaman en fazla 20.000 RU/sn kullanabilirsiniz.
Şimdi aralıklı trafik artışları olduğunu varsayalım:
Bölüm 1, bir saniye boyunca 10.000 RU/sn'ye yükseldi ve sonraki dört saniye boyunca 1.000 RU/sn'ye düştü.
Aynı anda Bölüm 2 8.000 RU/sn'ye yükselerek sonraki dört saniye boyunca 1.000 RU/sn'ye düşer.
Ölçümler şöyle davranır:
Bölüm 1, bir saniye boyunca maksimum değere ulaştığı için normalleştirilmiş RU Kullanımı (tüm bölümler arasında aralık süresince maksimum kullanımı gösteren) 100% kullanım oranını gösterir.
Ancak sağlanan aktarım hızı ve otomatik olarak ölçeklendirilmiş RU ölçümleri yalnızca 1 saniyelik ani artış nedeniyle maksimum RU/sn ölçeğini artırmaz. Uygun maliyetli olmak için 5 saniyelik aralara göre ölçeklendirilir. Bu nedenle önceki örnekte bölüm 1 ve bölüm 2 RU tüketimi, 5 saniyelik aralık temelinde 10.000 RU/sn'ye ulaşmıyor.
Sonuç olarak, otomatik ölçeklendirme en yüksek değere ölçeklendirilmemiş olsa da, bu ani saniye için kullanılabilir toplam RU/sn'yi kullanmaya devam edebildiniz. RU/sn tüketiminizi doğrulamak için, tercihli Tanılama Günlükleri özelliğini kullanarak tüm bölüm anahtarı aralıklarında saniye bazında genel RU/sn tüketimini sorgulayabilirsiniz.
CDBPartitionKeyRUConsumption
| where TimeGenerated >= (todatetime('2022-01-28T20:35:00Z')) and TimeGenerated <= todatetime('2022-01-28T20:40:00Z')
| where DatabaseName == "MyDatabase" and CollectionName == "MyContainer"
| summarize sum(RequestCharge) by bin(TimeGenerated, 1sec), PartitionKeyRangeId
| render timechart
Genel olarak, otomatik ölçeklendirme kullanan bir üretim iş yükü için 429 kodlu isteklerin 1-5% arasında olduğunu görüyorsanız ve uçtan uca gecikme süreniz kabul edilebilir düzeydeyse, bu, RU/sn'i tam olarak kullandığınıza ilişkin sağlıklı bir işarettir. Normalleştirilmiş RU tüketimi bazen 100% ulaşsa ve otomatik ölçeklendirme en yüksek RU/sn'ye kadar ölçeklendirilmese bile, 429s genel oranı düşük olduğundan bu sorun olmaz. Eylem gerekmiyor.
İpucu
Otomatik ölçeklendirme kullanır ve normalleştirilmiş RU tüketiminin tutarlı olarak 100% olduğunu ve tutarlı olarak maksimum RU/sn'ye ölçeklendirildiğini fark ederseniz, bu el ile aktarım hızını kullanmanın daha uygun maliyetli olabileceğinin bir işaretidir. Otomatik ölçeklendirme veya manuel olarak sağlanan aktarım hızının iş yükünüz için en uygun seçenek olup olmadığını belirlemek üzere, bkz. Standart (manuel) ile otomatik ölçeklendirme arasında sağlanan aktarım hızını seçme. Azure Cosmos DB, iş yükü desenlerinize göre manuel veya otomatik ölçeklendirme aktarım hızı önermek için maliyet önerileri de gönderir.
Normalleştirilmiş istek birimi tüketim ölçümünü görüntüleme
Azure Portal’ında oturum açın.
Sol gezinti çubuğundan İzleyici'yi ve ardından Ölçümler'i seçin.
Ölçümler bölmesinden >> seçin gerekli aboneliği ve kaynak grubunu seçin. Kaynak türü için Azure Cosmos DB hesapları'nı seçin, mevcut Azure Cosmos DB hesaplarınızdan birini seçin ve Uygula'yı seçin.
Ardından kullanılabilir ölçümler listesinden bir ölçüm seçebilirsiniz. İstek birimlerine, depolama alanına, gecikme süresine, kullanılabilirliğe, Cassandra'ya ve diğerlerine özgü ölçümleri seçebilirsiniz. Bu listedeki kullanılabilir tüm ölçümler hakkında ayrıntılı bilgi edinmek için Kategoriye göre ölçümler makalesine bakın. Bu örnekte, toplama değeri olarak Normalleştirilmiş RU Tüketimi ölçümü ve En Fazla seçeneğini belirleyelim.
Bu ayrıntılara ek olarak, ölçümlerin Zaman aralığını ve Zaman ayrıntı düzeyini de seçebilirsiniz. En fazla, son 30 güne ilişkin ölçümleri görüntüleyebilirsiniz. Filtreyi uyguladıktan sonra, filtrenize göre bir grafik görüntülenir.
Normalleştirilmiş RU tüketim ölçümü için filtreler
Ayrıca ölçümleri ve belirli bir CollectionName, DatabaseName, PartitionKeyRangeID ve Region tarafından görüntülenen grafiği filtreleyebilirsiniz. Ölçümleri filtrelemek için Filtre ekle'yi seçin ve CollectionName gibi gerekli özelliği ve ilgilendiğiniz ilgili değeri seçin. Graf daha sonra seçilen dönem için kapsayıcı için normalleştirilmiş RU tüketim ölçümünü görüntüler.
Bölmeyi uygula seçeneğini kullanarak ölçümleri gruplandırabilirsiniz. Paylaşılan aktarım hızı veritabanları için normalleştirilmiş RU ölçümü verileri yalnızca veritabanı ayrıntı düzeyinde gösterir; koleksiyon başına veri göstermez. Bu nedenle, paylaşılan aktarım hızı veritabanı için koleksiyon adına göre bölme uyguladığınızda hiçbir veri görmezsiniz.
Her kapsayıcı için normalleştirilmiş istek birimi tüketim ölçümü aşağıdaki görüntüde gösterildiği gibi görüntülenir: