Veritabanınızın Profilini Alın

Veritabanı profil aracı ile Firebase Realtime Database'inizin performansını ölçün aracı Firebase CLI'da yerleşik olarak bulunur. Profil oluşturucu aracı, gözlemleyip veritabanınızdaki etkinliği belirleyip zamanla ayrıntılı bir rapordur. veri tabanını güçlendirir, sorunlu alanları tespit eder ve dizine eklenmemiş sorguları azaltır.

Profil oluşturun

  1. Firebase Realtime Database'inizin profilini oluşturmaya başlamadan önce Firebase CLI'ın en son sürümüne o veritabanını ve profilini çıkarmak istediğiniz proje için başlatın. Not Bunun için söz konusu projenin düzenleyicisi veya sahibi olmanız gerekir.

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

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

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

Sonuçlarınızı yorumlama

Profil oluşturucu aracı, veritabanınızın güvenliği hakkında topladığı verileri işlemleri gerçekleştirir ve sonuçları üç ana kategoride görüntüler: hız, bant genişliği ve dizine eklenmeyen sorgular için de geçerlidir.

Hız

Hız Raporu, her bir etkinlik için sunucunun yanıt süresini (milisaniye cinsinden) işlem türü. Ancak, Hız Raporu'nda ölçülen hız, yansıttığını fark edeceksiniz. Aşağıdakiler dahil olmak üzere farklı faktörler istemci tarafında gecikme ekleyebilir.

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

  • Yol: Veritabanınızda işlemlerin gerçekleştiği yol. Eğer 25'ten fazla alt düğüm varsa profil aracı aracı bunları daraltarak üst yol oluşturur ve bir $wildcard işaretçisi ekler. Veritabanınızla ilgili raporda öne eğik çizgi / ile gösterilen kök dizin.
  • Sayı: Belirli bir yolda gerçekleşen işlemlerin sayısı.
  • Ortalama Yürütme Hızı: Sunucunun yürütme işlemi için aldığı ortalama süre o yoldaki işlem türünü yönetmek için gereken iş mantığına bağlıdır. Burada ölçülen zaman aralığı, "Ortalama Bekleme Süresi" bakın.
  • Ortalama Bekleme Süresi: İstek tamamlanmadan önce sıraya alınan ortalama süre yürütülüyor. Bu gecikme, müşteri tarafından başlatılan tüm isteklerde yaygındır. İlgili içeriği oluşturmak için kullanılan toplam sunucu tarafı istek gecikmesi, kabaca söz konusu isteğin bekleme süresini ve yürütme hızını artırır. ziyaret edin.
  • İzin Reddedildi: Verilen tarafından engellenen yol Firebase Veritabanı Kuralları üzerinde değişiklik yapabilirsiniz.
İşlem Türüne Göre Hız Raporu
Yürütme Hızını Okuma İstemci isteklerinin Okuma yürütme süresi genellikle veri miktarına göre ölçeklendirilir ancak bazı küçük okumalar bile önbellek nedeniyle gecikebilir önceden getirme.
Yazma Yürütme Hızı İstemci isteklerinin Yazma işlemi süresi, mevcut veri miktarına göre ölçeklendirilir emin olabilirsiniz.
Yürütme Hızını Bağla Veritabanı istemcilerine oluşturulacak isteklerin sunucu yanıt süresi. Bağlantı istekleri için gecikme, bellek içi sunucu tarafında baskın bağlantı yönetimiyle ilgili muhasebe kayıtları.
Yayın Yürütme Hızı

Sunucunun verileri istemcilere dağıtması için gereken süre gerçek zamanlı güncellemeler için belirtilen yolu dinleme.

Sayma özelliği, Yayın Hızı Raporu, yayınlanan yayınların sayısını değil, bilgileri alan müşteri sayısı Örneğin, 10 müşteri olduğunu ve sunucu, bu listedeki tüm 10 yol için bir güncelleme yayınladığını istemciler için kullandığında, yayın sayısı yalnızca 1 yayını yansıtır, kullanıcı verileri topladı.

İzin Reddedildi mülkü Yayın Hızı raporu.

Bant genişliği

Bant Genişliği Raporu, veritabanınızın ne kadar veri tükettiği hakkında bilgi sağlar koordine etme görevi size ait. Bant genişliğinin Bununla birlikte, kullanılan bant genişliğini içermediğinden faturalandırmayı tahmin etmek için rapor oluşturma veritabanınızın profilini çıkarma gibi diğer işlemler için. Bant Genişliği Raporu, yaklaşık olarak Veritabanınızda yapılan okuma, yazma ve yayınlama işlemleri tarafından tüketilen verilerdir. Performansı ölçen bir araçtır, faturalandırmayı tahmin etmez.

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

  • Yol: Veritabanınızda işlemlerin gerçekleştiği yol. Eğer 25'ten fazla alt düğüm varsa profil aracı, bunları daraltarak üst yolu olabilir.

  • Toplam: Tüm işlemlerde kullanılan giden veya gelen baytların toplamı değer.

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

  • Ortalama: İndirilen veya yüklenen baytların ortalama sayısı. belirtilen yoldaki işlemler (bayt/yazma veya bayt/okuma).

Bant Genişliği Raporu
İndirilen Bayt Sayısı İstemci aracılığıyla gönderilen okuma ve yayın işlemleriyle tüketilen veriler SDK'lar ve REST API.
Yüklenen Bayt Sayısı Veritabanı sunucusuna gelen yazma istekleri aracılığıyla tüketilen veriler. Silme işlemleri, gelen altında 0 bayta sahip yazma olarak gösterilir.

Dizine Eklenmeyen Sorgular

Dizine eklenmeyen sorgular pahalı olabilir çünkü müşteriler tüm verileri konumlandırabilir ve ardından konumla ilgili sorgular gerçekleştirebilirsiniz. Bu yöntem, şundan daha fazla bant genişliği kullanır: gerekir. her şeyi öğreteceğim.

Dizine Eklenmeyen Sorgular raporu aşağıdaki özellikleri gösterir:

  • Yol: Veritabanınızda dizine eklenmemiş sorguların gerçekleştiği yol.
  • Dizin: Dizine eklenmeyen sorguları çözmek için eklemeniz gereken kural. Öğren Verilerinizi dizine ekleme bölümünde dizine ekleme hakkında daha fazla bilgi edinebilirsiniz.
  • Sayı: Belirli bir yolda meydana gelen dizine eklenmeyen sorguların sayısı.

Gelişmiş profil çıkarma

Veritabanınızın gerçekleştirdiği tüm işlemleri görmek için --raw kullanın aşağıdaki gibi işaretleyin:

firebase database:profile --raw

Ham çıkış, her işlem için istemci bilgilerini de içerir. Örneğin, userAgent dize ve IP adresi. Farklı işlemler hakkında daha fazla bilgi Firebase Realtime Database Operation Types içindeki Firebase Realtime Database'inizde oluşturulur.

Profil oluşturucu aracı: Faturalandırma aracı değildir

Bant genişliği maliyetini tahmin etmek için profil aracı aracını kullanmayın. Profil oluşturma aracı veri tabanınızın performansıyla ilgili genel bir fikir vermek amacıyla faturalandırmayı tahmin etmek için değil, operasyonları izleyip sorunları giderirsiniz. Google ağ trafiğini hesaba katmaz, yalnızca trafiğin tahminini kaydeder. uygulama verileri bulunuyor.

Aşağıda, Firebase tarafından faturalandırılan ağ trafiğiyle ilgili bazı yaygın örnekler verilmiştir veritabanı profilinizde yer almayanlar:

  • Protokol ek yükü: Sunucu ve istemciler arasında bir miktar ek trafik oturum oluşturmak ve sürdürmek için gereklidir. Sorunun dayanağına bağlı olarak protokolü kullanıyorsanız bu trafik şunları içerebilir: Firebase Realtime Database'in gerçek zamanlı protokol ek yükü, WebSocket ek yükü ve HTTP üstbilgisi ek yükü. Her seferinde ve tüm SSL şifrelemesi ile birlikte bu ek yük bağlantı maliyetlerine katkı sağlar. Bu genelde projenin fazla bant genişliği büyükse, yükünüz azsa bu durum önemli olabilir veya sık sık kısa bağlantılar kuruyorsanız.
  • SSL şifrelemesi ek yükü: SSL şifrelemesiyle ilişkili bir maliyet vardır. şifreleme ek yükünü azaltır. Ortalama olarak bu maliyet İlk el sıkışma için yaklaşık 3, 5 KB ve ilk el sıkışma için yaklaşık 40 B boyut Giden her iletideki TLS kayıt üstbilgileri. Çoğu uygulama için bu, bir yüzde ekleyebilirsiniz. Ancak, bu oran büyük bir yüzdeye dönüşebilir. özel durumunuz çok fazla SSL el sıkışması gerektirir. Örneğin, cihazlar TLS oturum biletlerini desteklemeyen çok sayıda SSL bağlantı el sıkışmaları olabilir.

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