Veritabanı Performansını İzleme

Firebase Realtime Database'ünüzün performansını 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 da faturanızda ne gibi ödemeler yapılacağını anlamanıza yardımcı olabilir. Ayrıca, bir sorun olduğunu düşünüyorsanız veritabanınızın işlemlerini net bir şekilde görmeniz, sorun giderme konusunda faydalı bir araç olabilir.

Bu sayfada Realtime Database performans izlemesi 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'ünüzün performansıyla ilgili verileri birkaç farklı araç aracılığıyla toplayabilirsiniz.

Realtime Database profilleyici aracını kullanma

Realtime Database profilleyici aracı, veritabanınızdaki okuma/yazma işlemlerine 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 bilgi içerir. Ancak geçmiş bilgiler veya bağlantı masraflarıyla ilgili istatistikler içermez ve faturalandırma maliyetlerini tahmin etmek için kullanılmamalıdır.

Profilleyici aracını kullanma hakkında daha fazla bilgi edinmek için Veritabanı profilleme başlıklı makaleyi inceleyin.

Firebase konsolunu kullanma

Firebase Konsolu'ndaki Kullanım sekmesi, veritabanınıza yapılan eşzamanlı bağlantılar, depolanan veri miktarı, giden bant genişliği (protokol ve şifreleme ek maliyeti dahil) ve veritabanınızın 1 dakikalık aralıklarla aldığı yük hakkında bilgi sunar. Kullanım sekmesi, veritabanınızın genel performansına dair daha doğru bir genel bakış sunsa da olası performans sorunlarını gidermek için yeterince ayrıntılı inceleme yapamazsınız.

Cloud Monitoring hesabını kullanın

Google Cloud'ten Cloud Monitoring ile, performans metriklerini tek tek görmek için Metrik Gezgini'ni kullanabilir veya zaman içinde 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 ayrıntı sunar.

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

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

Cloud Monitoring'te performansı izleme

Çalışma süresi veya gecikme dahil olmak üzere performansla ilgili sorun 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/ eklendiğini unutmayın.

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

io/database_load. Kullanılabilir veritabanı bant genişliğinizin ne kadarının zaman içinde isteklerin işlenmesi için kullanıldığını izlemek üzere bu metriği kullanın. Veritabanı yükünüz mevcut toplam bant genişliğine yaklaştığında performans sorunlarıyla karşılaşabilirsiniz. Ayrıca, en fazla yükü hangi işlem türlerinin kullandığını görebilir ve buna göre sorun giderebilirsiniz. Bir dakikadan uzun süren işlemlerde raporlanan 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 ortaya çıkar.

Aşırı Kullanım İçin Ağ Devre Dışı Bırakıldı

network/disabled_for_overages. Bu metrik, Realtime Database'unuz bant genişliği veya ağ sınırlarını aştığında oluşabilecek kesintileri yansıtır.

Aşırı Kullanım İçin Depolama Alanı Devre Dışı

storage/disabled_for_overages. Bu metrik, Realtime Database depolama alanı sınırlarını aştıysa

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 öğelerini türe göre gruplandırdığınızdan emin olun.
  • Depolama alanı: Depolama alanı kullanımınızı Realtime Database depolama alanı sınırlarıyla ilişkili olarak izlemek için storage/limit ve storage/total_bytes simgesini kullanın. Ayrıca, uygulamanızın depolama alanı sınırlarını aşması nedeniyle herhangi bir kesinti yaşayıp yaşamadığını görmek için storage/disabled_for_overages değerini de ekleyebilirsiniz.
  • SSL yükü: Veritabanınınızın aldığı SSL bağlantı isteği sayısını izlemek için network/https_requests_count'yi 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 metriği network/sent_bytes_count ve network/sent_payload_and_protocol_bytes_count ile karşılaştırabilirsiniz.

Ayrıca Cloud Monitoring üzerinden uyarılar oluşturabilir ve Realtime Database metriklerini temel alan bildirimler alabilirsiniz. Örneğin, io/database_load belirli bir eşiğe yaklaşırsa bildirim almayı seçebilirsiniz.

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

Veritabanı Yük Türü

io/database_load metriği, yüke neden olan işlem türüne dair bir etiket de sağlar. Ölçülebilecek işlem türleri şunlardır:

  • admin: Kural belirleme ve proje meta verilerini okuma gibi yönetici işlemleri.
  • auth: Tek bir istemci için hizmet hesaplarından veya Firebase Authentication'ten kimlik doğrulamayı doğrulama.
  • client_management: Eşzamanlı bağlantıların eklenmesi ve kaldırılması işlemlerini yürütme (kaldırma işlemi sırasında bağlantı kesme işlemlerinin yürütülmesi dahildir).
  • get_shallow: shallow=true ile REST GET'ten veri alma.
  • get: REST GET işlemlerini işleme.
  • listen: Bağlı istemcilerden on ve once işlemleri için ilk verileri alma.
  • on_disconnect: İstemcilerden bağlantı kesme işlemlerine kaydolun.
  • put: İstemcilerden gelen set işlemlerini veya REST PUT işlemlerini işleme.
  • transaction: Koşullu REST isteklerinden veya istemciden gelen bir işlemden transaction işlem gerçekleştirme.
  • update: update işlemleri veya REST PATCH isteklerini işleme.

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

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

Metrik adı Açıklama
Kural değerlendirmeleri rules/evaluation_count. Yazma veya okuma isteklerine yanıt olarak gerçekleştirilen gerçek zamanlı veritabanı kuralı değerlendirmelerinin sayısı. Bu metriği, isteğin sonucuna (İZİN VER, REDDET veya HATA) göre ayrıntılı olarak inceleyebilirsiniz.

Cloud Monitoring kuralları değerlendirmeleri grafiğinizi gerektiği gibi özelleştirin. Örneğin, belirli değerlendirme sonuçlarını (İZİN VER, REDDET veya HATA) filtreleyerek. 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 metriklerinin tam listesini inceleyin.