Arama hizmetinin kapasitesini tahmin edip yönetme

Azure AI Search'te kapasite, iş yükünüz için ölçeklendirilebilen çoğaltmaları ve bölümleri temel alır. Çoğaltmalar, arama motorunun kopyalarıdır. Bölümler depolama birimleridir. Her yeni arama hizmeti tek tek başlar, ancak dalgalı iş yüklerine uyum sağlamak için çoğaltmaları ve bölümleri bağımsız olarak ekleyebilir veya kaldırabilirsiniz. Kapasite eklemek, arama hizmeti çalıştırma maliyetini artırır.

çoğaltmaların ve bölümlerin işleme hızı ve disk GÇ gibi fiziksel özellikleri hizmet katmanına göre değişir. Standart bir arama hizmetinde, çoğaltmalar ve bölümler temel hizmetlerden daha hızlı ve daha büyüktür.

Kapasiteyi değiştirmek anlık bir işlem değildir. Özellikle büyük miktarda veriye sahip hizmetlerde bölümlerin devreye alınması veya kullanımdan alınması bir saate kadar sürebilir.

Bir arama hizmetini ölçeklendirirken, aşağıdaki araçlar ve yaklaşımlar arasından seçim yapabilirsiniz:

Kavramlar: arama birimleri, çoğaltmalar, bölümler

Kapasite, bölümlerin ve çoğaltmaların birleşimleriyle ayrılabilen arama birimlerinde ifade edilir.

Kavram Tanım
Arama birimi Toplam kullanılabilir kapasitenin tek bir artışı (36 birim). Ayrıca Azure AI Arama hizmeti için faturalama birimidir. Hizmeti çalıştırmak için en az bir birim gerekir.
Çoğaltma Öncelikli olarak sorgu işlemlerinin yükünü dengelemek için kullanılan arama hizmeti örnekleri. Her çoğaltma bir dizinin bir kopyasını barındırıyor. Üç çoğaltma ayırırsanız, sorgu isteklerine hizmet için kullanılabilecek bir dizinin üç kopyasına sahip olursunuz.
Bölüm Okuma/yazma işlemleri için fiziksel depolama ve G/Ç (örneğin, bir dizini yeniden oluştururken veya yenilerken). Her bölüm toplam dizinin bir dilimine sahiptir. Üç bölüm ayırırsanız dizininiz üçüncü bölümlere ayrılır.

36 birim sınırının altında kalan olası birleşimler için bölümler ve çoğaltmalar tablosunu gözden geçirin.

Ne zaman kapasite eklenir?

Başlangıçta, bir hizmete bir bölüm ve bir çoğaltmadan oluşan en az düzeyde kaynak ayrılır. Seçtiğiniz katman bölüm boyutunu ve hızını belirler ve her katman çeşitli senaryolara uyan bir dizi özellik etrafında iyileştirilir. Daha üst düzey bir katman seçerseniz, S1 ile gittiğinize göre daha az bölüme ihtiyacınız olabilir. Kendi kendine yapılan testlerle yanıtlamanız gereken sorulardan biri, daha büyük ve daha pahalı bir bölümün daha düşük bir katmanda sağlanan bir hizmette iki daha ucuz bölümden daha iyi performans sağlayıp sağlamadığıdır.

Tek bir hizmetin tüm iş yüklerini (dizin oluşturma ve sorgular) işlemek için yeterli kaynaklara sahip olması gerekir. İş yükü arka planda çalıştırılır. Sorgu isteklerinin doğal olarak daha az sık olduğu zamanlar için dizin oluşturmayı zamanlayabilirsiniz, ancak hizmet başka bir durumda bir görevin önceliğini başka bir göreve göre belirlemez. Ayrıca, hizmetler veya düğümler dahili olarak güncelleştirildiğinde belirli miktarda yedeklilik sorgu performansını kolaylaştırır.

Kapasite eklenip eklenmeyeceğini belirlemeye yönelik bazı yönergeler şunlardır:

  • Hizmet düzeyi sözleşmesi için yüksek kullanılabilirlik ölçütlerini karşılama
  • HTTP 503 hatalarının sıklığı artıyor
  • Büyük sorgu birimleri bekleniyor

Genel bir kural olarak, arama uygulamaları özellikle de hizmet işlemleri sorgu iş yüklerine karşı taraflı olduğunda bölümlerden daha fazla çoğaltmaya ihtiyaç duyar. Her çoğaltma dizininizin bir kopyasıdır ve hizmetin istekleri birden çok kopyaya göre dengelemesine olanak sağlar. Bir dizinin tüm yük dengelemesi ve çoğaltması Azure AI Search tarafından yönetilir ve hizmetiniz için ayrılan çoğaltma sayısını istediğiniz zaman değiştirebilirsiniz. Standart arama hizmetinde en fazla 12 çoğaltma ve Temel arama hizmetinde 3 çoğaltma ayırabilirsiniz. Çoğaltma ayırma, Azure portalından veya programlı seçeneklerden birinden yapılabilir.

Ek bölümler yoğun dizin oluşturma iş yükleri için yararlıdır. Ek bölümler, okuma/yazma işlemlerini daha fazla sayıda işlem kaynağına yayar.

Son olarak, daha büyük dizinlerin sorguya alınması daha uzun sürer. Bu nedenle, bölümlerdeki her artımlı artışın çoğaltmalarda daha küçük ama orantılı bir artış gerektirdiğini fark edebilirsiniz. Sorgularınızın ve sorgu biriminizin karmaşıklığı, sorgu yürütmenin ne kadar hızlı döndürüleceğini hesaba katacaktır.

Not

Daha fazla çoğaltma veya bölüm eklemek, hizmeti çalıştırma maliyetini artırır ve sonuçların sıralı olarak küçük farklılıklara neden olabilir. Daha fazla düğüm eklemenin faturalama etkilerini anlamak için fiyatlandırma hesaplayıcısını kontrol edin. Aşağıdaki grafik, belirli bir yapılandırma için gereken arama birimi sayısına çapraz başvuruda bulunur. Ek çoğaltmaların sorgu işlemeyi nasıl etkilediğini öğrenmek için bkz . Sonuçları sıralama.

Kapasiteyi değiştirme

Arama hizmetinizin kapasitesini artırmak veya azaltmak için bölümleri ve çoğaltmaları ekleyin veya kaldırın.

  1. Azure portalında oturum açın ve arama hizmetini seçin.

  2. Ayarlar altında, çoğaltmaları ve bölümleri değiştirmek için Ölçek sayfasını açın.

    Aşağıdaki ekran görüntüsünde tek bir çoğaltma ve bölümle sağlanan bir Standart hizmet gösterilmektedir. Alttaki formül, kaç arama biriminin kullanıldığını gösterir (1). Birim fiyatı 100 ABD doları ise (gerçek bir fiyat değilse), bu hizmeti çalıştırmanın aylık maliyeti ortalama 100 ABD doları olacaktır.

    Geçerli değerleri gösteren ölçek sayfası

  3. Bölüm sayısını artırmak veya azaltmak için kaydırıcıyı kullanın. Kaydet'i seçin.

    Bu örnek ikinci bir çoğaltma ve bölüm ekler. Arama birimi sayısına dikkat edin; faturalama formülü bölümler (2 x 2) ile çarpılmış çoğaltmalar olduğundan artık dört. Kapasiteyi ikiye katlama, hizmeti çalıştırma maliyetini iki katına çıkartır. Arama birimi maliyeti 100 TL ise, yeni aylık fatura artık 400 ABD doları olacaktır.

    Her katmanın birim başına geçerli maliyetleri için Fiyatlandırma sayfasını ziyaret edin.

    Çoğaltma ve bölüm ekleme

  4. Kaydettikten sonra, eylemin başarılı olduğunu onaylamak için bildirimleri de kontrol edebilirsiniz.

    Değişiklikleri kaydet

    Kapasitedeki değişikliklerin tamamlanması 15 dakikadan birkaç saate kadar sürebilir. İşlem başladıktan ve çoğaltma ve bölüm ayarlamaları için gerçek zamanlı izleme olmadığında iptal edilemez. Ancak, değişiklikler devam ederken aşağıdaki ileti görünür durumda kalır.

    Portalda durum iletisi

Not

Bir hizmet sağlandıktan sonra daha yüksek bir katmana yükseltilemez. Yeni katmanda bir arama hizmeti oluşturmanız ve dizinlerinizi yeniden yüklemeniz gerekir. Hizmet sağlama konusunda yardım için bkz. Portalda Azure AI Arama hizmeti oluşturma.

Ölçeklendirme istekleri nasıl işlenir?

Bir ölçek isteği alındıkten sonra arama hizmeti:

  1. İsteğin geçerli olup olmadığını denetler.
  2. Verileri ve sistem bilgilerini yedeklemeye başlar.
  3. Hizmetin zaten sağlama durumunda olup olmadığını denetler (şu anda çoğaltmaları veya bölümleri ekliyor veya ortadan kaldırıyor).
  4. Sağlamayı başlatır.

Hizmetin boyutuna ve isteğin kapsamına bağlı olarak hizmetin ölçeklendirilme süresi 15 dakika veya bir saatten fazla sürebilir. Veri miktarına ve bölüm ve çoğaltma sayısına bağlı olarak yedekleme birkaç dakika sürebilir.

Yukarıdaki adımlar tamamen ardışık değildir. Örneğin, sistem bunu güvenli bir şekilde gerçekleştirebildiğinde sağlamayı başlatır. Bu, yedekleme işlemi tamamlanırken olabilir.

Ölçeklendirme sırasında oluşan hatalar

"Önceki bir isteği işlediğimiz için şu anda hizmet güncelleştirme işlemlerine izin verilmiyor" hata iletisi, hizmet önceki bir isteği işlerken ölçeği azaltma veya artırma isteğinin yinelenmesinden kaynaklanır.

Sağlama durumunu doğrulamak için hizmet durumunu denetleyerek bu hatayı düzeltin:

  1. Hizmet durumunu almak için Yönetim REST API'sini, Azure PowerShell'i veya Azure CLI'yı kullanın.
  2. PowerShell veya CLI için Get Service (REST) veya eşdeğerini çağırın.
  3. "provisioningState": "provisioning" yanıtını denetleyin

Durum "Sağlama" ise isteğin tamamlanmasını bekleyin. Başka bir istek denenmeden önce durum "Başarılı" veya "Başarısız" olmalıdır. Yedekleme durumu yok. Yedekleme bir iç işlemdir ve bir ölçek alıştırmasının kesintiye uğramasında bir faktör olma olasılığı düşüktür.

Arama hizmetiniz sağlama durumunda durdurulmuş gibi görünüyorsa, sıfır sorgu birimi olan ve dizin güncelleştirmesi olmayan, kullanılamayan yalnız bırakılmış dizinleri denetleyin. Kullanılamayan bir dizin, hizmet kapasitesinde yapılan değişiklikleri engelleyebilir. Özellikle, anahtarları artık geçerli olmayan CMK ile şifrelenmiş dizinleri arayın. Dizini silmeniz veya dizini yeniden çevrimiçi yapmak ve ölçeklendirme işleminizin engelini kaldırmak için anahtarları geri yüklemeniz gerekir.

Bölüm ve çoğaltma birleşimleri

Aşağıdaki grafik Standart katman ve üzeri için geçerlidir. Hizmet başına en fazla 36 arama birimine tabi olarak tüm olası bölüm ve çoğaltma birleşimlerini gösterir.

1 bölüm 2 bölüm 3 bölüm 4 bölüm 6 bölüm 12 bölüm
1 çoğaltma 1 SU 2 SU 3 SU 4 SU 6 SU 12 SU
2 çoğaltma 2 SU 4 SU 6 SU 8 SU 12 SU 24 SU
3 çoğaltma 3 SU 6 SU 9 SU 12 SU 18 SU 36 SU
4 çoğaltma 4 SU 8 SU 12 SU 16 SU 24 SU Yok
5 çoğaltma 5 SU 10 SU 15 SU 20 SU 30 SU Yok
6 çoğaltma 6 SU 12 SU 18 SU 24 SU 36 SU Yok
12 çoğaltma 12 SU 24 SU 36 SU Yok Yok Yok

Temel arama hizmetlerinin arama birimi sayısı daha düşüktür.

  • 3 Nisan 2024'e kadar oluşturulan arama hizmetlerinde temel bir arama hizmeti, en fazla üç SU sınırı için tam olarak bir bölüme ve en fazla üç çoğaltmaya sahip olabilir. Ayarlanabilir tek kaynak çoğaltmadır.

  • Desteklenen bölgelerde 3 Nisan 2024'te oluşturulan arama hizmetlerinde temel hizmetlerin en fazla üç bölümü ve üç çoğaltması olabilir. Bölümlerin ve çoğaltmaların tam tamamlayıcısını desteklemek için maksimum SU sınırı dokuzdur.

Oluşturma tarihinden bağımsız olarak faturalanabilir herhangi bir katmandaki arama hizmetleri için sorgularda yüksek kullanılabilirlik için en az iki çoğaltma gerekir.

Katman ve para birimi başına faturalama ücretleri için Bkz . Azure AI Search fiyatlandırma sayfası.

Faturalanabilir katman kullanarak kapasite tahmini

Depolama gereksinimleri, derlemeyi beklediğiniz dizinlerin boyutuna göre belirlenir. Tahminlere yardımcı olan sağlam buluşsal yöntemler veya genellikler yoktur. Bir dizinin boyutunu belirlemenin tek yolu bir dizin oluşturmaktır. Boyutu belirteci ve eklemeleri temel alır ve önericileri, filtrelemeyi ve sıralamayı etkinleştirip etkinleştirmediğiniz ya da vektör sıkıştırmadan yararlanıp yararlanamayacağınızdır.

Temel veya üzeri faturalanabilir bir katmanda tahmin yapmanızı öneririz. Ücretsiz katmanı, birden çok müşteri tarafından paylaşılan fiziksel kaynaklarda çalışır ve denetiminizin dışındaki faktörlere tabidir. Geliştirme sırasında dizin miktarı, boyutu ve sorgu hacimleriyle ilgili daha gerçekçi tahminler için yalnızca faturalanabilir arama hizmetinin ayrılmış kaynakları daha büyük örnekleme ve işlem sürelerine uyum sağlayabilir.

  1. Düşük katmanların ihtiyacınız olan dizin sayısını destekleyip desteklemediğini belirlemek için her katmandaki hizmet sınırlarını gözden geçirin. Etkin geliştirme, test ve üretim için bir dizinin birden çok kopyasına ihtiyacınız olup olmadığını göz önünde bulundurun.

    Arama hizmeti nesne sınırlarına (dizin sayısı üst sınırı, dizin oluşturucu, beceri kümesi vb.) ve depolama sınırlarına tabidir. İlk önce ulaşılan sınır geçerli sınırdır.

  2. Faturalanabilir bir katmanda hizmet oluşturma. Katmanlar belirli iş yükleri için iyileştirilmiştir. Örneğin, Depolama İyileştirilmiş katmanının sınırı 10 dizindir çünkü çok büyük dizin sayısı düşük olan bir dizini destekleyecek şekilde tasarlanmıştır.

    • Öngörülen yük hakkında emin değilseniz Temel veya S1'de düşük bir başlangıç.

    • Test büyük ölçekli dizin oluşturma ve sorgu yükleri içeriyorsa, S2 ve hatta S3'te yüksek bir başlangıç.

    • İç iş uygulamasında olduğu gibi büyük miktarda veri dizini oluşturup sorgu yükü görece düşükse L1 veya L2'de İyileştirilmiş Depolama ile başlayın.

  3. Kaynak verilerin bir dizine nasıl çevrildiğini belirlemek için bir ilk dizin oluşturun. Dizin boyutunu tahmin etmenin tek yolu budur. Alan tanımları üzerindeki öznitelikler fiziksel depolama gereksinimlerini etkiler:

  4. Portalda depolamayı, hizmet sınırlarını, sorgu hacmini ve gecikme süresini izleyin. Portalda saniye başına sorgular, kısıtlanmış sorgular ve arama gecikme süresi gösterilir. Bu değerlerin tümü doğru katmanı seçerek karar vermenize yardımcı olabilir.

  5. Yüksek kullanılabilirlik veya yavaş sorgu performansını azaltmak için çoğaltmalar ekleyin.

    Sorgu yüklerini karşılamak için kaç çoğaltma gerektiğiyle ilgili bir yönerge yoktur. Sorgu performansı, sorgunun karmaşıklığı ve rakip iş yüklerine bağlıdır. Çoğaltmaların eklenmesi net bir şekilde daha iyi performansa neden olsa da, sonuç kesinlikle doğrusal değildir: üç çoğaltma eklemek üçlü aktarım hızını garanti etmez. Çözümünüz için QPS'yi tahmin etme konusunda rehberlik için bkz . Performansıanaliz etme ve Sorguları izleme.

Ters dizin için boyut ve karmaşıklık içeriğe göre belirlenir; içine beslediğiniz veri miktarına göre belirlenmeyebilir. Yüksek yedekliliğe sahip büyük bir veri kaynağı, yüksek oranda değişken içerik içeren daha küçük bir veri kümesinden daha küçük bir dizine neden olabilir. Bu nedenle, özgün veri kümesinin boyutuna göre dizin boyutunu çıkarsamak nadiren mümkündür.

Depolama gereksinimleri, hiçbir zaman aranmayacak verileri eklerseniz şişirilebilir. İdeal olarak, belgeler yalnızca arama deneyimi için ihtiyacınız olan verileri içerir.

Hizmet düzeyi sözleşmesinde dikkat edilmesi gerekenler

Ücretsiz katman ve önizleme özellikleri hizmet düzeyi sözleşmeleri (SLA) kapsamında değildir. Tüm faturalanabilir katmanlar için, hizmetiniz için yeterli yedeklilik sağladığınızda SLA'lar geçerlilik kazanır.

  • İki veya daha fazla çoğaltma sorgu (okuma) SLA'larını karşılar.

  • Üç veya daha fazla çoğaltma sorgu ve dizin oluşturma (okuma-yazma) SLA'larını karşılar.

Bölüm sayısı SLA'ları etkilemez.

Sonraki adımlar