Azure Veri Gezgini ile yüksek eşzamanlılık için iyileştirme
Uygulamanın düşük gecikme süresi ve yüksek aktarım hızına sahip birçok isteği aynı anda işlediği büyük bir kullanıcı tabanına sahip senaryolarda yüksek oranda eşzamanlı uygulamalara ihtiyaç vardır.
Kullanım örnekleri arasında büyük ölçekli izleme ve uyarı panoları yer alır. Örnek olarak Azure İzleyici, Azure Time Series Insights ve Playfab gibi Microsoft ürünleri ve hizmetleri verilebilir. Tüm bu hizmetler yüksek eşzamanlılık iş yüklerine hizmet etmek için Azure Veri Gezgini kullanır. Azure Veri Gezgini, uygulamalardan, web sitelerinden, IoT cihazlarından ve daha fazlasından büyük hacimli veri akışı üzerinde gerçek zamanlı analizler için hızlı, tam olarak yönetilen bir büyük veri analizi hizmetidir.
Not
Bir kümede eşzamanlı olarak çalışabilen gerçek sorgu sayısı, küme SKU'su, veri birimleri, sorgu karmaşıklığı ve kullanım desenleri gibi faktörlere bağlıdır.
Yüksek eşzamanlılık uygulamalarını ayarlamak için arka uç mimarisini aşağıdaki gibi tasarlayın:
- Verileri iyileştirme
- Öncü-takip mimarisi deseni ayarlama
- Sorguları iyileştirme
- Küme ilkelerini ayarlama
- Azure Veri Gezgini kümelerini izleme
Bu makalede, en uygun ve uygun maliyetli bir şekilde yüksek eşzamanlılık elde etmek için uygulayabileceğiniz önceki konuların her biri için öneriler sunulur. Bu özellikler tek başına veya birlikte kullanılabilir.
Verileri iyileştirme
Yüksek eşzamanlılık için sorgular mümkün olan en az CPU kaynağını kullanmalıdır. Aşağıdaki yöntemlerin herhangi birini veya tümünü kullanabilirsiniz:
Tablo şeması tasarımı en iyi yöntemlerini kullanma
Kullanılan CPU kaynaklarını en aza indirmek için aşağıdaki tablo şeması tasarım önerilerini kullanın:
- Kimlik sütunları, değerlerin sayısal olup olmadığına bakılmaksızın dize veri türleri olarak tanımlanmalıdır. Dize sütunları için dizin oluşturma, sayısal sütunlara göre daha karmaşıktır ve daha iyi filtreleme performansı sağlar.
- Sütun veri türünü bu sütunlarda depolanan gerçek veriyle en uygun şekilde eşleştirin. Örneğin, tarih saat değerlerini dize sütununda depolamayın.
- Çok sayıda sütunu olan büyük bir seyrek tablodan kaçının ve seyrek özellikleri depolamak için dinamik sütunlar kullanın.
- Sık kullanılan özellikleri dinamik olmayan bir veri türüyle kendi sütunlarında depolayın.
- Görece büyük CPU kaynakları gerektiren birleştirmeleri önlemek için verileri normalleştirin.
Verileri bölümleme
Veriler kapsamlar (veri parçaları) biçiminde depolanır ve varsayılan olarak alma süresine göre bölümlenmiştir. Bir arka plan işleminde tek bir dize sütununa veya tek bir tarih saat sütununa göre kapsamları yeniden bölümlendirmek için bölümleme ilkesini kullanabilirsiniz. Sorguların çoğu filtrelemek, toplamak veya her ikisini birden yapmak için bölüm anahtarları kullandığında bölümleme önemli performans geliştirmeleri sağlayabilir.
Not
Bölümleme işleminin kendisi CPU kaynaklarını kullanır. Ancak sorgu süresindeki CPU azaltması, bölümleme için kullanılan CPU'ya ağır basmalıdır.
Gerçekleştirilmiş görünümlerle verilerinizi önceden toplama
Sorgu süresi boyunca CPU kaynaklarını önemli ölçüde azaltmak için verilerinizi önceden toplama. Örnek senaryolar, veri noktalarını azaltılmış zaman bölmeleri üzerinden özetlemek, belirli bir kaydın en son kaydını tutmak veya veri kümesinin yinelenenlerini kaldırmayı içerir. Kaynak tablolar üzerinde yapılandırması kolay bir toplu görünüm için gerçekleştirilmiş görünümleri kullanın. Bu özellik, bu toplanmış görünümleri oluşturma ve koruma çabasını basitleştirir.
Not
Arka plan toplama işlemi CPU kaynaklarını kullanır. Ancak sorgu süresindeki CPU azaltması, toplama için CPU tüketimine ağır basmalıdır.
Önbelleğe alma ilkesini yapılandırma
Önbelleğe alma ilkesini, sorguların disk önbelleği olarak da bilinen sık erişimli depolama alanında depolanan veriler üzerinde çalışması için yapılandırın. Yalnızca soğuk depolama veya dış tablolarda sınırlı, dikkatli tasarlanmış senaryolar çalıştırın.
Öncü-takip mimarisi deseni ayarlama
Takipçi veritabanı, aynı bölgede bulunan başka bir kümeden veritabanındaki bir veritabanını veya tablo kümesini izleyen bir özelliktir. Bu özellik Azure Veri Paylaşımı, Azure Resource Manager API'leri ve bir küme komutları kümesi aracılığıyla kullanıma sunulur.
Farklı iş yükleri için işlem kaynaklarını ayarlamak için öncü-takip desenini kullanın. Örneğin, alımlar için bir küme, panoları veya uygulamaları sorgulamak veya sunmak için bir küme ve veri bilimi iş yüklerine hizmet veren bir küme ayarlayın. Bu durumda her iş yükünün bağımsız olarak ölçeklendirilebilen ayrılmış işlem kaynakları ve farklı önbelleğe alma ve güvenlik yapılandırmaları olacaktır. Tüm kümeler aynı verileri kullanır ve öncü verileri yazar ve takipçiler verileri salt okunur modda kullanır.
Not
Takipçi veritabanlarında genellikle birkaç saniye olmak üzere öncüden bir gecikme olur. Çözümünüz gecikme süresi olmadan en son verileri gerektiriyorsa, bu çözüm yararlı olabilir. Öncüden ve takipçiden verileri bir araya getiren ve öncüden en son verileri ve takip edenden kalan verileri sorgulayan takipçi kümesinde bir görünüm kullanın.
Takipçi kümesindeki sorguların performansını geliştirmek için, kapsamları önceden yapılandırmayı etkinleştirebilirsiniz. Takipçi veritabanındaki verilerin güncelliğini etkileyebileceğinden bu yapılandırmayı dikkatle kullanın.
Sorguları iyileştirme
Sorgularınızı yüksek eşzamanlılık açısından iyileştirmek için aşağıdaki yöntemleri kullanın.
Sorgularınızın mümkün olduğunca verimli olması için sorgu en iyi yöntemlerini izleyin.
Sorgu sonuçları önbelleği kullanma
Aynı panoyu aynı anda birden fazla kullanıcı yüklediğinde, pano önbellekten ikinci ve aşağıdaki kullanıcılara sunulur. Bu kurulum neredeyse hiç CPU kullanımı olmadan yüksek performans sağlar. Sorgu sonuçları önbellek özelliğini kullanın ve deyimini kullanarak set
sorguyla sorgu sonuçları önbellek yapılandırmasını gönderin.
Grafana , veri kaynağı düzeyinde sorgu sonuçları önbelleği için bir yapılandırma ayarı içerdiğinden, tüm panolar varsayılan olarak bu ayarı kullanır ve sorguyu değiştirmesi gerekmez.
Sorgu tutarlılığını yapılandırma
Varsayılan sorgu tutarlılığı modu güçlüdür. Bu modda bir yönetici düğümü, küme için meta verileri ve alımın yanı sıra sorgu planlama ve yürütmeyi diğer düğümlere temsilci olarak belirlemeyi yönetir.
Yüksek eşzamanlılık uygulamalarında sorguların yönetilmesi yönetici düğümlerinin CPU kullanımının yüksek, diğer düğümlerin ise daha az meşgul olmasını sağlar. Bu, eşzamanlı sorgu sayısının artamama sorununa neden olabilir. Ancak bu, kümenin ortalama CPU kullanımını gösteren CPU raporunda (Azure portalı > {your_cluster} > ÖlçümLER > CPU Ölçümü) belirgin olmayabilir.
Bu senaryo için zayıf tutarlılık modunu kullanmanızı öneririz. Bu modda, daha fazla düğüm sorguları yönetebilir ve bu da eşzamanlı sorgu sayısını yatay olarak ölçeklendirmeyi mümkün kılar. Bu modda düğümler meta veri kopyalarını ve yeni alınan verileri düzenli aralıklarla yeniler ve bu da veriler eşitlenirken genellikle bir dakikadan kısa bir gecikme süresine neden olur. Ancak bu kısa gecikme süresi, güçlü tutarlılık modu kullanılırken ortaya çıkabilecek performans sorunu durumuna tercih edilir.
Tutarlılık modunu bir iş yükü grubu sorgu tutarlılığı ilkesinde, istemci isteği özelliklerinde veya Grafana veri kaynağı yapılandırmasında ayarlayabilirsiniz.
Küme ilkelerini ayarlama
Eşzamanlı istek sayısı varsayılan olarak eşlenir ve kümenin aşırı yüklenmemesi için İstek hızı sınırı ilkesi tarafından denetlenir. Bu ilkeyi yüksek eşzamanlılık durumları için ayarlayabilirsiniz. Bu ilke yalnızca zorlu testlerden sonra, tercihen üretim benzeri kullanım desenleri ve veri kümelerinde ayarlanmalıdır. Test, kümenin değiştirilen değeri sürdürebilmesini sağlar. Bu sınır, uygulama gereksinimlerine göre yapılandırılabilir.
Azure Veri Gezgini kümelerini izleme
Küme kaynaklarınızın durumunu izlemek, önceki bölümlerde önerilen özellikleri kullanarak bir iyileştirme planı oluşturmanıza yardımcı olur. Azure Veri Gezgini için Azure İzleyici, kümenizin performansına, işlemlerine, kullanımına ve hatalarına ilişkin kapsamlı bir görünüm sağlar. Azure portalda Azure Veri Gezgini kümesinin İzleme bölümünde İçgörüler (önizleme) sekmesini seçerek sorguların performansı, eşzamanlı sorgular, kısıtlanmış sorgular ve diğer çeşitli ölçümler hakkında içgörüler elde edin.
Kümeleri izleme hakkında bilgi için bkz. Azure Veri Gezgini için Azure İzleyici. Tek tek ölçümler hakkında bilgi için bkz. Azure Veri Gezgini ölçümleri.