Aracılığıyla paylaş


GraphQL için Fabric API performans en iyi uygulamaları

GraphQL için Microsoft Fabric API'si verileri verimli bir şekilde sorgulamak için güçlü bir yol sunar, ancak sorunsuz ve ölçeklenebilir performans sağlamak için performans iyileştirmesi önemlidir. Karmaşık sorguları işlerken veya yanıt sürelerini en iyi duruma getirirken, aşağıdaki en iyi yöntemler GraphQL uygulamanızda en iyi performansı elde etmenize ve Doku'da API verimliliğinizi en üst düzeye çıkarmanıza yardımcı olur.

Performans iyileştirmesi gereken kişiler

Performans iyileştirmesi şu nedenlerden dolayı çok önemlidir:

  • Fabric lakehouse'ları ve ambarları sorgulayan yüksek trafikli uygulamalar oluşturan uygulama geliştiricileri
  • Veri mühendisleri, büyük ölçekli analiz uygulamaları ve ETL işlemleri için Fabric veri erişim desenlerini optimize ediyor.
  • Kapasite tüketimini yöneten ve verimli kaynak kullanımı sağlayan Fabric çalışma alanı yöneticileri
  • Yapı verileri üzerinde oluşturulan özel analiz uygulamaları için yanıt sürelerini geliştiren BI geliştiricileri
  • DevOps ekipleri , Doku API'lerini kullanan üretim uygulamalarında gecikme sorunlarını gideriyor

GraphQL API'nizin üretim iş yüklerini verimli bir şekilde işlemesi gerektiğinde veya performans sorunlarıyla karşılaştığınızda bu en iyi yöntemleri kullanın.

Bölge hizalaması

Bölgeler arası API çağrıları, yüksek gecikme süresinin yaygın bir nedenidir. En iyi performans için istemci uygulamalarınızın, Doku kiracınızın, kapasitenizin ve veri kaynaklarınızın tümünün aynı Azure bölgesinde olduğundan emin olun.

Kiracı bölgenizi kontrol et

Kumaş kiracınızın bölgesini bulmak için:

  1. Microsoft Fabric portalında yönetici hesabıyla oturum açın
  2. Sağ üst köşedeki Yardım simgesini (?) seçin
  3. Yardım bölmesinin en altında Doku Hakkında'yı seçin
  4. Kiracı ayrıntılarında görüntülenen bölgeyi not edin

Kapasite bölgenizi denetleme

GraphQL API'niz belirli bir kapasite içinde çalışır. Kapasite bölgesini bulmak için:

  1. GraphQL için API'nizi barındıran çalışma alanını açma

  2. Çalışma alanı ayarları>Lisans bilgileri'ne gidin

  3. Lisans kapasitesi altında bölgeyi bulma

    Çalışma alanınız için kapasite bölgesini alma işlemini gösteren ekran görüntüsü.

Veri kaynağı bölgenizi denetleme

Veri kaynaklarınızın konumu performansı da etkiler:

  • Doku veri kaynakları (Lakehouse, Veri Ambarı, SQL Veritabanı): Bunlar çalışma alanının kapasitesiyle aynı bölgeyi kullanır
  • Dış veri kaynakları (Azure SQL Veritabanı vb.): Azure portalında kaynak konumunu denetleyin

En iyi yöntem: Ağ gecikme süresini en aza indirmek için doku kapasitenizle ve veri kaynaklarınızla aynı bölgede istemci uygulamaları dağıtın.

Performans testi en iyi yöntemleri

API'nizin performansını değerlendirirken güvenilir ve tutarlı sonuçlar için bu yönergeleri izleyin.

Gerçekçi test araçlarını kullanma

Üretim ortamınızla yakından eşleşen araçlarla test edin:

  • Betikler veya uygulamalar: Gerçek istemci davranışını simüle eden Python, Node.jsveya .NET betikleri kullanın
  • HTTP bağlantı havuzu: Özellikle bölgeler arası senaryolar için önemli olan gecikme süresini azaltmak için HTTP bağlantılarını yeniden kullanma
  • Oturum yönetimi: Gerçek dünya kullanımını doğru yansıtmak için istekler arasında oturumları sürdürme

Örnek kaynaklar:

Anlamlı ölçümler toplama

Doğru performans değerlendirmesi için:

  1. Testi otomatikleştirme: Testleri tanımlı bir süre boyunca tutarlı bir şekilde çalıştırmak için betikleri veya performans testi araçlarını kullanın
  2. API'yi hazırlama: Performansı ölçmeden önce birkaç test sorgusu yürütme (bkz . Isınma gereksinimleri)
  3. Dağıtımları analiz etme: Gecikme süresi desenlerini anlamak için yalnızca ortalamalar yerine yüzdebirlik tabanlı ölçümleri (P50, P95, P99) kullanın
  4. Yük altında test: Gerçekçi eşzamanlı istek birimleriyle performansı ölçme
  5. Belge koşulları: Test sırasında günün saatini, kapasite kullanımını ve tüm eş zamanlı iş yüklerini kaydedin

Yaygın performans sorunları

Bu yaygın sorunları anlamak, performans sorunlarını etkili bir şekilde tanılamanıza ve çözmenize yardımcı olur.

Isınma gereksinimleri

Sorun: İlk API isteği sonraki isteklerden önemli ölçüde daha uzun sürüyor.

Bu neden olur?

  • API başlatma: Boştayken, API ortamının ilk çağrı sırasında başlatılması ve birkaç saniye gecikme süresi eklenmesi gerekir
  • Veri kaynağı ısınması: Birçok veri kaynağı (özellikle SQL Analytics Uç Noktaları ve veri ambarları) boşta kaldığında erişildiğinde ısınma aşamasından geçer
  • Birleştirilmiş başlatma: Hem API hem de veri kaynağı boştaysa başlatma süreleri bileşik

Çözüm:

  • Performansı ölçmeden önce 2-3 test sorgusu yürütme
  • Üretim uygulamaları için API'yi sıcak tutan sistem durumu denetimi uç noktalarını uygulayın
  • İş saatlerinde etkin bir durumu korumak için zamanlanmış sorguları veya izleme araçlarını kullanmayı göz önünde bulundurun

Bölgesel yanlış hizalama

Sorun: Tüm isteklerde tutarlı olarak yüksek gecikme süresi.

Bunun nedeni: Bölgeler arası ağ çağrıları, özellikle istemci, API ve veri kaynakları farklı Azure bölgelerinde olduğunda önemli bir gecikme süresi ekler.

Çözüm:

  • İstemci uygulamanızın, Fabric kapasitenizin ve veri kaynaklarınızın aynı bölgede olduğunu doğrulayın.
  • Bölgeler arası erişim kaçınılmazsa agresif önbelleğe alma stratejileri uygulayın
  • Genel uygulamalar için bölgesel API çoğaltmaları dağıtmayı göz önünde bulundurun

Veri kaynağı performansı

Sorun: API ısındığında ve bölgeler hizalandığında bile API istekleri yavaştır.

Bunun nedeni: GraphQL için API, veri kaynaklarınız üzerinde bir sorgu arabirimi işlevi görür. Temel alınan veri kaynağında eksik dizinler, karmaşık sorgular veya kaynak kısıtlamaları gibi performans sorunları varsa API bu sınırlamaları devralır.

Çözüm:

  1. Doğrudan test etme: Temel performans oluşturmak için veri kaynağını doğrudan sorgulama (SQL veya diğer yerel araçları kullanarak)
  2. Veri kaynağını iyileştirme:
    • Sık sorgulanan sütunlar için uygun dizinler ekleme
    • Kullanım örneğiniz için doğru veri deposunu göz önünde bulundurun: Doku karar kılavuzu – veri deposu seçme
    • İyileştirme fırsatları için sorgu yürütme planlarını gözden geçirme
  3. Doğru boyut kapasitesi: Fabric kapasitesi SKU'nuzun yeterli işlem kaynağını sağladığından emin olun. Uygun kapasiteyi seçme konusunda rehberlik için bkz. Microsoft Fabric kavramları .

Sorgu tasarımı

Sorun: Bazı sorgular iyi performans gösterirken, diğerleri yavaş çalışıyor.

Bu neden olur?

  • Aşırı getirme: Gerekenden daha fazla alan istemek işlem süresini artırır
  • Derin iç içe yerleştirme: Birçok iç içe ilişki düzeyine sahip sorgular için birden çok çözücü çalıştırılması gerekir.
  • Eksik filtreler: Uygun filtreleri olmayan sorgular aşırı veri döndürebilir

Çözüm:

  • Yalnızca GraphQL sorgunuzda ihtiyacınız olan alanları isteme
  • mümkün olduğunca iç içe ilişkilerin derinliğini sınırlayın
  • Sorgularınızda uygun filtreleri ve sayfalandırmayı kullanma
  • Uygun olduğunda karmaşık sorguları birden çok basit sorguya bölmeyi göz önünde bulundurun