Veritabanınızın Profilini Oluşturun

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ı belirlemek ve dizine eklenmemiş sorguları azaltmak için ayrıntılı raporu kullanın.

Profil oluştur

  1. Eğer Firebase Gerçek Zamanlı Veritabanı profilleme başlamadan önce, emin en son sürümünü kullandığınızdan emin olun Firebase CLI ve veritabanı için bunu başlatıldı ettik ve profilini çıkaracağınız proje. Profil oluşturmak için o projenin editörü veya sahibi olmanız gerektiğini unutmayın.

  2. Aşağıdaki komutla veritabanı profilleme başlatın:

    firebase database:profile
    profil görüntüler bir durum mesajı sizin veritabanından işlemleri kaydeder ve profili kurar gibi.

  3. Basın profili doldurun ve sonuçlarını görüntülemek için girin.

Sonuçlarınızı yorumlayın

Profilci aracı veritabanınızın operasyonları ve görüntüler hakkında toplanan verileri bir araya getirir üç ana kategoride sonuçları: hız , bant genişliği ve unindexed sorgular .

hız

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

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

  • Yol: işlemler oluştu veritabanınızda yolu. 25'den fazla çocuk düğümleri varsa, profil aracı bir üst yoluna bu çöker ve bir ekler $wildcard işaretleyici. Bir eğik çizgi ile temsil raporunda, veritabanınızın kök dizini görebilirsiniz / .
  • Sayısı: belirli bir yol meydana gelen işlemlerin sayısını.
  • Ortalama Yürütme Hızı: o yolda belirli operasyon türünü işlemek için gerekli iş mantığını yürütmek için sunucuyu geçen ortalama süre. Burada ölçülen zaman aralığı, aşağıda açıklanan "Ortalama Bekleme Süresi" ile ölçülenden sonra başlar.
  • Ortalama Beklemede Saat: ortalama süre istekleri idam almadan önce sıraya harcamalarını gösterir. 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: tarafından engellendi verilen yolda işlem sayısı Firebase Veritabanı Kuralları veritabanı üzerinde.
İşlem Türüne Göre Hız Raporu
Yürütme Hızını Oku İstemci isteklerinin veritabanından veri okuması için sunucu yanıt süresi. Okuma yürütme süresi genellikle okunan veri miktarına göre ölçeklenir, ancak bazı küçük okumalar bile önbelleğe önceden getirme ile geciktirilebilir.
Yürütme Hızını Yaz İstemci isteklerinin veritabanına veri yazması için sunucu yanıt süresi. Yazılmakta olan veri miktarıyla birlikte yürütme süresi ölçeklerini yazın.
Yürütme Hızını Bağlayın Veritabanı istemcilerine kurulacak isteklerin sunucu yanıt süresi. Bağlantı istekleri için gecikme, bağlantı yönetimiyle ilgili bellek içi sunucu tarafında defter tutma tarafından yönetilir.
Yayın Yürütme Hızı

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

Yayın Hız Raporunda Count özelliğini, bilgi aldı müşterilerin sayısını değil olmuş yayınların sayısına toplar. Örneğin, 10 istemci belirli bir yolu dinliyorsa ve sunucu 10 istemcinin tümüne bir güncelleme yayınlıyorsa, 10 istemci verileri alsa bile yayın sayısı yalnızca 1 yayını yansıtır.

İzin Verilmedi özellik Yayın Hız rapora 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 ilişkin bilgi sağlar. Bununla birlikte, veritabanınızın profilini çıkarmak gibi diğer işlemler için kullanılan bant genişliğini içermediğinden, faturalandırmayı tahmin etmek için Bant Genişliği Raporunu kullanmamalısınız. Bant Genişliği Raporu, veri tabanınıza yapılan ve veri tabanınızdan yapılan okuma, yazma ve yayınlama işlemleri tarafından tüketilen verilerin yük boyutunu kabaca tahmin eder. Bu, faturalandırmayı öngören değil, performansı ölçen bir araçtır.

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

  • Yol: işlemler oluştu veritabanınızda yolu. 25'ten fazla alt düğüm varsa, profil oluşturucu aracı bunları bir üst yola daraltır.

  • Toplam: belirli bir yolda tüm operasyonlar genelinde kullanılan toplam giden veya gelen bayt.

  • Sayısı: belirli bir yol meydana gelen işlemlerin sayısını.

  • Ortalama: Verilen yola (bayt / yazma veya bayt / okuma) operasyonlar karşısında indirilen veya yüklenen bayt ortalama sayısı.

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

Dizinlenmemiş Sorgular

Dizinlenmemiş sorgular pahalı olabilir, çünkü istemciler tüm verileri bir konuma indirir ve ardından bu konum ü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 mümkün olduğunca çok sayıda dizine eklenmemiş sorguyu çözün.

Dizin Oluşturulmamış Sorgular raporu aşağıdaki özellikleri görüntüler:

  • Yol: Sıralanmayan sorgular oluştu veritabanınızda yolu.
  • Dizin: kural Sıralanmayan sorguları çözmek için eklemek gerekir. İçinde indeksleme hakkında daha fazla bilgi Index veri .
  • Sayısı: belirli bir yol meydana endeksli sorgu numarası.

Gelişmiş profil oluşturma

Veritabanı işleyen tüm operasyonları görmek için kullanın --raw Eğer veritabanı profil zaman aşağıdaki gibi bayrak:

firebase database:profile --raw

Ham çıkış da örneğin her operasyon için müşteri bilgilerini içeren userAgent dizeleri ve IP adresleri. İçinde Firebase Gerçek Zamanlı Veritabanında profilli farklı işlemler hakkında daha fazla bilgi Firebase Gerçek Zamanlı Veri Tabanı Çalışması Türleri .

Profil oluşturma aracı: Faturalandırma aracı değil

Bant genişliği maliyetini tahmin etmek için profil oluşturucu aracını kullanmayın. Profil oluşturucu aracı, 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 vermeyi amaçlamaktadır. Ağ trafiğini hesaba katmaz, yalnızca yanıtlarda gönderilen uygulama verilerinin bir tahminini kaydeder.

Aşağıdakiler, Firebase tarafından faturalandırılan ve veritabanı profilinizde kapsanmayan bazı yaygın ağ trafiği örnekleridir:

  • Protokol havai: sunucu ve istemciler arasında bazı ek trafik kurmak ve bir oturum korumak için 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 üstbilgi ek yükü. Her bağlantı kurulduğunda, bu ek yük, herhangi bir SSL şifreleme ek yüküyle birlikte bağlantı maliyetlerine katkıda bulunur. Bu genellikle büyük bir bant genişliği miktarı olmasa da, yükleriniz küçükse veya sık, kısa bağlantılar yapıyorsanız önemli olabilir.
  • SSL şifrelemesi havai: güvenli bağlantılar için havai gerekli SSL şifreleme ile ilişkili bir masrafı yoktur. Ortalama olarak, bu maliyet ilk el sıkışma için yaklaşık 3,5 KB ve giden her mesajda TLS kayıt başlıkları için yaklaşık 40 milyar'dır. Çoğu uygulama için bu, faturanızın küçük bir yüzdesidir. Ancak, özel durumunuz çok sayıda SSL anlaşması gerektiriyorsa, bu büyük bir yüzde olabilir. Örneğin, TLS oturum biletlerini desteklemeyen cihazlar çok sayıda SSL bağlantısı anlaşması gerektirebilir.

Hakkında daha fazlasını okuyun anlayış ve faturanızı tahmin .