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 faydalı 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ı makaleyi inceleyin.

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ş sorguların yanı sıra her işlemin hızı ve yük boyutu hakkında bilgiler 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ızda profil 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ına ilişkin 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 performans metriklerinin çeşitli 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 süresi gibi performansla ilgili sorunlar yaşıyorsanız aşağıdaki metrikleri izlemek için Cloud Monitoring kullanabilirsiniz. Tüm metrik türü adlarının firebasedatabase.googleapis.com/ ile başladığını unutmayın.

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

io/database_load. Bu metriği kullanarak, zaman içinde istekleri işlerken kullanılabilir veritabanı bant genişliğinizin ne kadarının kullanıldığını izleyebilirsiniz. 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 birden fazla 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 herhangi bir depolama alanı sınırını aşarsa 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ırdığınızdan emin olun.
  • Depolama alanı: storage/limit ve storage/total_bytes simgelerini kullanarak Realtime Database depolama alanı sınırlarına göre depolama alanı kullanımınızı izleyin. Uygulamanızın depolama alanı sınırlarının aşılması nedeniyle herhangi bir kesinti yaşayıp yaşamadığını görmek için storage/disabled_for_overages da 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 değeri 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 hangi işlem türünün neden olduğuna dair 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 sırasında bağlantı kesme işlemlerini çalıştırma 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'da 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/ önekiyle 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. Grafikleri ayarlama 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.