Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Veritabanınızın Profili

Yerleşik veritabanı profilci aracı ile Firebase Gerçek Zamanlı Veritabanı performansını ölçün Firebase CLI . Profil oluşturucu aracı, belirli bir süre boyunca veritabanınızdaki tüm etkinlikleri günlüğe kaydeder ve ardından ayrıntılı bir rapor oluşturur. Veritabanı performansınızla ilgili sorunları gidermek, sorunlu alanları tespit etmek ve dizine eklenmemiş sorguları azaltmak için ayrıntılı raporu kullanın.

Profil oluşturun

  1. Firebase Gerçek Zamanlı Veritabanınızın profilini oluşturmaya başlamadan önce, Firebase CLI'nın en son sürümünü kullandığınızdan ve profil oluşturmak istediğiniz veritabanı ve proje için başlattığınızdan emin olun. Profil oluşturmak için o projenin editörü veya sahibi olmanız gerektiğini unutmayın.

  2. Aşağıdaki komutla veritabanınızın profilini oluşturmaya başlayın:

    firebase database:profile
    Profil oluşturucu, veritabanınızdaki işlemleri kaydederken ve profili oluştururken bir durum mesajı görüntüler.

  3. Profili tamamlamak ve sonuçları görüntülemek için Enter tuşuna basın.

Sonuçlarınızı yorumlayın

Profil oluşturucu aracı, veritabanınızın işlemleri hakkında topladığı verileri toplar ve sonuçları üç ana kategoride görüntüler: hız , bant genişliği ve dizine eklenmemiş sorgular .

Hız

Hız Raporu, her işlem türü için sunucunun yanıt süresini (milisaniye cinsinden) ölçer. Bununla birlikte, Hız Raporunda ölçülen hız, aslında hız son kullanıcıların deneyimini yansıtmayabilir. Ağ koşulları dahil olmak üzere farklı faktörler, istemci tarafında gecikme ekleyebilir.

Hız Raporu aşağıdaki özellikleri içerir:

  • Yol: Veritabanınızdaki işlemlerin gerçekleştiği yol. 25'ten fazla alt düğüm varsa, profil oluşturma aracı bunları bir ana yola daraltır ve bir $wildcard işaretçisi ekler. Veritabanınızın kök dizinini raporda eğik çizgi / .
  • Sayı: Verilen yolda gerçekleşen işlemlerin sayısı.
  • Ortalama Yürütme Hızı: Sunucunun, o yoldaki belirli işlem türünü işlemek için gereken iş mantığını yürütmesi için geçen ortalama süredir. Burada ölçülen zaman aralığı, aşağıda açıklanan "Ortalama Bekleme Süresi" ile ölçülenden sonra başlar.
  • Ortalama Bekleme Süresi: İsteklerin yürütülmeden önce sıraya girdiği ortalama süre. Bu gecikme, istemci tarafından başlatılan tüm istekler için ortaktır. Toplam sunucu tarafı istek gecikmesi, bu isteğin bekleme süresi ve yürütme hızının kabaca toplamıdır.
  • İzin Verilmedi: Veritabanınızda Firebase Veritabanı Kuralları tarafından engellenen belirli yoldaki işlemlerin sayısı.
İşlem Türüne Göre Hız Raporu
Yürütme Hızını Oku İstemcinin veritabanından veri okumasını istediği sunucu yanıt süresi. Okuma yürütme süresi genellikle okunmakta olan veri miktarına göre ölçeklenir, ancak bazı küçük okumalar bile önbelleğin önceden getirilmesiyle gecikebilir.
Yürütme Hızı Yaz İstemcinin veritabanına veri yazması için sunucu yanıt süresi. Yazılan veri miktarı ile yürütme süresi ölçekleri yazın.
Yürütme Hızını Bağlayın Veritabanı istemcilerine kurulacak istekler için sunucu yanıt süresi. Bağlantı isteklerinin gecikmesine, bağlantı yönetimiyle ilgili bellek içi sunucu tarafı defter tutma hakimdir.
Yayın Yürütme Hızı

Sunucunun, verileri gerçek zamanlı güncellemeler için verilen yolu dinleyen istemcilere dağıtması için geçen süre.

Yayın Hızı Raporundaki Count özelliği, bilgileri alan istemcilerin sayısını değil, gerçekleşen yayınların sayısını toplar. Örneğin, 10 istemci belirli bir yolda dinliyorsa ve sunucu 10 istemcinin tamamına bir güncelleme yayınladıysa, yayın sayısı 10 istemcinin verileri almasına rağmen yalnızca 1 yayını yansıtır.

İzin Verilmedi özelliği, Yayın Hızı raporuna dahil edilmez.

Bant genişliği

Bant Genişliği Raporu, veritabanınızın gelen ve giden işlemlerde ne kadar veri tükettiğine dair içgörü sağlar. Faturalandırmayı tahmin etmek için Bant Genişliği Raporunu kullanmamalısınız, çünkü veritabanınızın profilini çıkarmak gibi diğer işlemler için kullanılan bant genişliğini içermez. Bant Genişliği Raporu, veritabanınızda okuma, yazma ve yayınlama işlemleri tarafından tüketilen verilerin yük boyutunu kabaca tahmin eder. Faturalandırmayı tahmin eden değil, performansı ölçen bir araçtır.

Bant Genişliği Raporu aşağıdaki özellikleri içerir:

  • Yol: Veritabanınızdaki işlemlerin gerçekleştiği yol. 25'ten fazla alt düğüm varsa, profil oluşturma aracı bunları bir ana yola daraltır.

  • Toplam: Verilen yoldaki tüm işlemlerde kullanılan toplam giden veya gelen baytlar.

  • Sayı: Verilen yolda gerçekleşen işlemlerin sayısı.

  • Ortalama: Verilen yoldaki işlemlerde indirilen veya yüklenen ortalama bayt sayısı (bayt / yazma veya bayt / okuma).

Bant Genişliği Raporu
İndirilen Bayt Sayısı İstemci SDK'ları ve REST API aracılığıyla gönderilen okuma ve yayınlama işlemleri aracılığıyla tüketilen veriler.
Yüklenen Baytlar Veritabanı sunucusuna gelen yazma istekleriyle tüketilen veriler. Silmeler, gelenlerin altında 0 bayt ile yazma olarak görünür.

Dizinsiz Sorgular

Dizinlenmemiş sorgular pahalı olabilir, çünkü istemciler bir konumdaki tüm verileri indirir ve sonra üzerinde sorgular gerçekleştirir. Bu, gerekenden daha fazla bant genişliği kullanır. Veritabanınızın performansını optimize etmek için olabildiğince çok sayıda dizine eklenmemiş sorguyu çözün.

Dizinsiz Sorgular raporu aşağıdaki özellikleri görüntüler:

  • Yol: Dizine eklenmemiş sorguların gerçekleştiği veritabanınızdaki yol.
  • Dizin: Dizine eklenmemiş sorguları çözmek için eklemeniz gereken kural. Verilerinizi dizine ekleme konusunda daha fazla bilgi edinin.
  • Sayı: Verilen yolda meydana gelen dizine eklenmemiş sorguların sayısı.

Gelişmiş profil oluşturma

Veritabanınızın --raw tüm işlemleri görmek için, veritabanınızın profilini oluştururken aşağıdaki gibi --raw bayrağını kullanın:

firebase database:profile --raw

Ham çıktı ayrıca her işlem için userAgent dizeleri ve IP adresleri gibi istemci bilgilerini içerir. Firebase Gerçek Zamanlı Veritabanı İşlem Türlerinde Firebase Gerçek Zamanlı Veritabanınızda profilli farklı işlemler hakkında daha fazla bilgi edinin.

Profil oluşturucu aracı: Bir faturalandırma aracı değildir

Profil oluşturucu aracını bant genişliği maliyetini tahmin etmek için kullanmayın. Profil oluşturucu aracının amacı, faturalandırmayı tahmin etmek için değil, işlemleri izlemenize ve sorunları gidermenize yardımcı olmak için veritabanınızın performansının genel bir resmini verir. Ağ trafiğini hesaba katmaz, yalnızca yanıtlarda gönderilen uygulama verilerinin bir tahminini kaydeder.

Aşağıda, veritabanı profilinizde yer almayan, Firebase tarafından faturalandırılan ağ trafiğinin bazı yaygın örnekleri verilmiştir:

  • Protokol ek yükü: Bir oturum oluşturmak ve sürdürmek için sunucu ve istemciler arasında bir miktar ek trafik gereklidir. Temel protokole bağlı olarak bu trafik şunları içerebilir: Firebase Realtime Database'in gerçek zamanlı protokol ek yükü, WebSocket ek yükü ve HTTP üst bilgisi ek yükü. Bir bağlantı her kurulduğunda, bu ek yük, herhangi bir SSL şifreleme ek yükü ile birleştirildiğinde, bağlantı maliyetlerine katkıda bulunur. Bu tipik olarak büyük miktarda bant genişliği olmasa da, yükleriniz küçükse veya sık sık kısa bağlantılar yapıyorsanız önemli olabilir.
  • SSL şifreleme ek yükü: Güvenli bağlantılar için gerekli olan SSL şifreleme ek yüküyle ilişkili bir maliyet vardır. Ortalama olarak, bu maliyet ilk el sıkışma için yaklaşık 3,5 KB ve her giden iletide TLS kayıt başlıkları için yaklaşık 40B'dir. Çoğu uygulama için bu, faturanızın küçük bir yüzdesidir. Ancak, özel durumunuz çok fazla SSL anlaşması gerektiriyorsa, bu büyük bir yüzde haline gelebilir. Örneğin, TLS oturum biletlerini desteklemeyen cihazlar, çok sayıda SSL bağlantı anlaşması gerektirebilir.

Faturanızı anlama ve tahmin etme hakkında daha fazla bilgi edinin.