happytails.ai
Türkçe

GraphQL Sorgu Maliyeti Tahminleyicisi

Bir GraphQL işleminin sunucunuza ulaşmadan önce maliyetini tahmin edin. Derin biçimde iç içe geçen ve çarpılan liste seçimlerini bulun; her liste boyutu varsayımını da kaydedin.

En fazla 200.000 karakterlik bir işlem, 1.000.000 karakterlik bir şema ve 200.000 karakterlik değişken kabul eder. En fazla 10.000 alan ve 64 iç içe geçme düzeyini, 1 ile 10.000 arasında liste boyutlarını ve 0 ile 1.000 arasında alan maliyetlerini hesaba katar. Tahmin tarayıcınızın arka plan işçisinde çalışır. JSON raporu ve CSV dökümü indirilebilir. Bir işlem veya işlem adı belirtilmiş birden çok işlem. Fragmentler genişletilir. En fazla 200.000 karakter. Çalıştırmadan önce ayarları gözden geçirin.

Sonucunuz

Bir sorun bildirin veya fikrinizi paylaşın.

GraphQL Sorgu Maliyeti Tahminleyicisi
  1. GraphQL işlemini ana kutuya yapıştırın.
  2. Şemayı SDL veya introspection JSON olarak yapıştırın.
  3. Sunucunuz farklı değerler kullanıyorsa varsayılan liste boyutunu, dilimleme argümanlarını ve alan maliyetlerini ayarlayın.
  4. Tahmini çalıştırın, maliyetin yoğunlaştığı noktaları inceleyin ve JSON ya da CSV dökümünü indirin.

Bilmeniz gerekenler

En fazla 200.000 karakterlik bir işlem, 1.000.000 karakterlik bir şema ve 200.000 karakterlik değişken kabul eder. En fazla 10.000 alan ve 64 iç içe geçme düzeyini, 1 ile 10.000 arasında liste boyutlarını ve 0 ile 1.000 arasında alan maliyetlerini hesaba katar. Tahmin tarayıcınızın arka plan işçisinde çalışır. JSON raporu ve CSV dökümü indirilebilir.

Maliyet modeli

Seçilen her alan, dönüş türünün nesne veya skaler maliyetini alır ve üzerindeki liste boyutlarıyla çarpar. Toplam, genişletilmiş alan seçimlerinin toplamıdır; bu nedenle yinelenen seçimler birleştirilmiş sunucu yürütmesini olduğundan pahalı gösterebilir. __typename ücretsizdir. Bu planlama modeli bir sunucuyu, koşullu yönergeleri veya iç içe listelerin içeriğini yürütmez ve sunucunun uyguladığı bir sınır değildir.

Liste boyutları

Bir liste alanının boyutu first, last veya limit gibi dilimleme argümanlarının en büyüğünden alınır. Değer belirtilmezse işlem değişkenlerinin ve şema argümanlarının varsayılanları kullanılır. Dilimleme değeri yoksa etkin olduğunda @listSize(assumedSize:) kullanılır, ardından modelin varsayılan liste boyutu alınır. @cost(weight:) alan maliyetini değiştirir. Türetilen tüm boyutlar 1 ile 10.000 arasında tam sayı, ağırlıklar ise 0 ile 1.000 arasında olmalıdır. Geçersiz işlemler, değişkenler, sınırlar ve döngüsel fragmentler tahmini türlendirilmiş bir hatayla durdurur.

Raporu okuma

Rapor varsayımları, en maliyetli on alt ağacı ve derinlik, çarpan, liste boyutu, kendi maliyeti ve alt ağaç maliyetiyle tüm ağacı listeler. CSV'de her alan yolu için bir satır bulunur. Fragment yayılımları kullanıldıkları yerde genişletilir; döngüsel fragment, sonlu maliyet varsayımı değil sorgu doğrulama hatasıdır.

Sonraki adımlar