Veritabanı Performansını İzleme

Firebase Realtime Database performansınızı izlemenin ve uygulamanızdaki olası sorunları tespit etmenin birkaç farklı yolu vardır. Uygulamanızın gelen ve giden bant genişliğine ve yüküne bakmak, faturanızda ne bekleyeceğiniz konusunda da fikir verebilir. Ayrıca, bir sorun olduğunu düşünüyorsanız veritabanınızın işlemleriyle ilgili net bir resim elde etmek, sorun giderme konusunda yardımcı olabilir.

Bu sayfada Realtime Database performans izleme konusu ele alınmaktadır. Kullanım izleme için Veritabanı Kullanımını İzleme başlıklı makaleye bakın.

Realtime Database izleme araçlarını kullanma

İhtiyacınız olan ayrıntı düzeyine bağlı olarak, Realtime Database performansınızla ilgili verileri birkaç farklı araçla toplayabilirsiniz.

Realtime Database profiler aracını kullanma

Realtime Database profiler aracı, veritabanınızdaki okuma/yazma işlemlerine ilişkin gerçek zamanlı bir genel bakış sunar. Rapor, dizine eklenmemiş sorgulara ek olarak her işlemin hızı ve yük boyutu hakkında bilgi içerir. Ancak geçmiş bilgileri veya bağlantı ek yüküyle ilgili istatistikleri içermez ve faturalandırma maliyetlerini tahmin etmek için kullanılmamalıdır.

Profiler aracını kullanma hakkında daha fazla bilgi edinmek için Veritabanınızın profilini oluşturma başlıklı makaleyi inceleyin.

Firebase konsolunu kullanma

Firebase konsolundaki Kullanım sekmesinde; veritabanınıza yapılan eşzamanlı bağlantılar, ne kadar veri depoladığınız, giden bant genişliği (protokol ve şifreleme ek yükü dahil) ve veritabanınızın 1 dakikalık aralıklarla yükü hakkında bilgiler yer alır. Kullanım sekmesi, veritabanınızın genel performansı hakkında daha doğru bir genel bakış sunsa da olası performans sorunlarını gidermek için yeterince ayrıntılı bilgiye ulaşamayabilirsiniz.

Cloud Monitoring hesabını kullanın

Cloud Monitoring Google Cloud ile, tek tek performans metriklerini görmek için Metrik Gezgini'ni kullanabilir veya zaman içindeki çeşitli performans metrikleri kombinasyonlarını gösteren grafiklerle farklı kontrol panelleri oluşturabilirsiniz. Realtime Database ile Cloud Monitoring entegrasyonu en ayrıntılı düzeyde bilgi sağlar.

Cloud Monitoring kurulumuyla ilgili adımlar Veritabanı Kullanımını İzleme başlıklı makalede açıklanmıştır.

Performans sorunlarını tespit etmek için belirli Cloud Monitoring metrikleri kullanmayla ilgili ipuçları için aşağıdaki bölümlere bakın.

Cloud Monitoring'da performansı izleme

Çalışma süresi veya gecikme gibi performans sorunları yaşıyorsanız aşağıdaki metrikleri izlemek için Cloud Monitoring kullanabilirsiniz. Tüm metrik türü adlarının başına firebasedatabase.googleapis.com/ önekini eklediğimizi unutmayın.

Metrik Adı Açıklama
Veritabanı Yükü

io/database_load. Kullanılabilir veritabanı bant genişliğinizin zaman içinde istekleri işlemek için ne kadarının kullanıldığını izlemek üzere bu metriği kullanın. Veritabanı yükünüz, kullanılabilir toplam bant genişliğine yaklaştıkça performans sorunları yaşayabilirsiniz. Ayrıca, en fazla yükü hangi işlem türlerinin kullandığını da görebilir ve buna göre sorun giderebilirsiniz. Bir dakikadan uzun süren işlemlerde bildirilen yük% 100'ü aşabilir. Bu durum, işlem tamamlandıktan sonra birkaç dakika boyunca kullanılan toplam bant genişliği bir dakikalık raporlama aralığına sıkıştırıldığında meydana gelir.

Aşım nedeniyle ağ devre dışı bırakıldı

network/disabled_for_overages. Bu metrik, Realtime Database herhangi bir bant genişliği veya ağ sınırını aşarsa meydana gelebilecek kesintileri yansıtır.

Aşım nedeniyle depolama alanı devre dışı bırakıldı

storage/disabled_for_overages. Bu metrik, Realtime Database depolama alanı sınırlarını aşmanız durumunda meydana gelebilecek kesintileri yansıtır.

Faydalı analizler ve genel bakışlar için kontrol panelinizdeki grafiklerde metrikleri birleştirin. Örneğin, aşağıdaki kombinasyonları deneyin:

  • İşlemler: Toplam veritabanı yükünüzün ne kadarının her işlem türü tarafından kullanıldığını görmek için io/database_load metriğini kullanın. Farklı işlem türleriyle ilgili sorunları gidermek için io/database_load türüne göre gruplandırma yaptığınızdan emin olun.
  • Depolama alanı: Realtime Database depolama alanı sınırlarına göre depolama alanı kullanımınızı izlemek için storage/limit ve storage/total_bytes simgelerini kullanın. Ayrıca, depolama alanı sınırlarının aşılması nedeniyle uygulamanızda herhangi bir kesinti yaşanıp yaşanmadığını görmek için storage/disabled_for_overages ekleyebilirsiniz.
  • SSL ek yükü: Veritabanınızın kaç SSL bağlantı isteği aldığını izlemek için network/https_requests_count'ı kullanın ve mevcut bir SSL oturum biletini yeniden kullanan istekleri reused_ssl_session filtresiyle ayırın. Uygulamanızın SSL oturum biletlerini verimli bir şekilde kullanıp kullanmadığını izlemek için bu durumu network/sent_bytes_count ve network/sent_payload_and_protocol_bytes_count ile karşılaştırabilirsiniz.

Ayrıca uyarıları Cloud Monitoring üzerinden ayarlayabilir ve Realtime Database metriklerine göre bildirimler alabilirsiniz. Örneğin, io/database_load belirli bir eşiğe yaklaştığında bildirim almayı seçebilirsiniz.

Cloud Monitoring üzerinden kullanılabilen Realtime Database metriklerin tam listesini inceleyin.

Veritabanı Yükü Türleri

io/database_load metriği, yüklemeye neden olan işlem türüyle ilgili bir etiket de sağlar. Ölçülen olası işlem türleri şunlardır:

  • admin: Kuralları ayarlama ve proje meta verilerini okuma gibi yönetici işlemleri.
  • auth: Tek bir istemci için hizmet hesaplarından veya Firebase Authentication'dan kimlik doğrulama işlemini doğrulama.
  • client_management: Eşzamanlı bağlantıların eklenmesi ve kaldırılmasıyla ilgili işlemler (kaldırma işleminde bağlantı kesme işlemlerinin çalıştırılması dahil)
  • get_shallow: shallow=true ile REST GET'ten verileri alma.
  • get: REST GET işlemlerini işleme.
  • listen: on ve once işlemleri için ilk verileri bağlı istemcilerden alma.
  • on_disconnect: İstemcilerle bağlantı kesme işlemlerini kaydetme.
  • put: İstemcilerden gelen set işlemlerini veya REST PUT işlemlerini işleme.
  • transaction: Koşullu REST isteklerinden veya bir istemciden transaction işlemi gerçekleştirme.
  • update: update işlemlerini veya REST PATCH isteklerini işleme.

Cloud Monitoring'daki güvenlik kurallarını izleme

Güvenlik kurallarının değerlendirmesini de analiz edebilirsiniz. Tüm metrik türü adlarının firebasedatabase.googleapis.com/ ile başladığını unutmayın.

Metrik Adı Açıklama
Kural değerlendirmeleri rules/evaluation_count. Yazma veya okuma isteklerine yanıt olarak gerçekleştirilen Realtime Database Kuralları değerlendirmelerinin sayısı. Bu metriği isteğin sonucuna (İZİN VER, REDDET veya HATA) göre ayırabilirsiniz.

Cloud Monitoring grafiğinizi, kuralların değerlendirilmesi için gerektiği şekilde özelleştirin. Örneğin, belirli değerlendirme sonuçlarına (İzin Ver, Reddet veya HATA) göre filtreleme yapabilirsiniz. Grafik oluşturma ve özelleştirme hakkında bilgi edinmek için Veritabanı Kullanımını İzleme başlıklı makaleyi inceleyin.

Cloud Monitoring üzerinden kullanılabilen Realtime Database metriklerin tam listesini inceleyin.