Realtime Database Faturalandırmayı Anlama

Firebase, veritabanınızda depoladığınız veriler ve tüm giden ağda için fatura oluşturur trafik verilerini görebilirsiniz. Depolama alanının faturalandırılması: Aylık olarak hesaplanan her GB için 5 ABD doları. Faturalandırma, konumdan etkilenmez yeniden değerlendirmenizi sağlar. Giden trafik, tüm veritabanı işlemlerinden kaynaklanan bağlantı ve şifreleme ek yükünü ve veritabanı okumaları aracılığıyla indirilen verileri içerir. Her ikisi ve veritabanı okuma işlemleri faturanızda bağlantı maliyetlerine yol açabilir. Tümü güvenlik tarafından reddedilen işlemler dahil olmak üzere veritabanınıza gelen ve veritabanınızdan gelen trafik faturalandırılabilir maliyetlere yol açar.

Faturalandırılan trafiğe örnek olarak aşağıdakiler verilebilir:

  • İndirilen veriler: Müşteriler veritabanınızdan veri aldığında Firebase, indirilmiş veriler için ücret alınır. Genellikle bant genişliği maliyetlerinizin büyük kısmını bu oluşturur ancak faturanızdaki tek faktör bu değildir.
  • Protokol ek yükü: Sunucu ve istemciler arasında bir miktar ek trafik oturum oluşturmak ve sürdürmek için gereklidir. Temel protokole bağlı olarak bu trafik şunları içerebilir: Firebase Realtime Database'ın gerçek zamanlı protokol yükü, WebSocket yükü ve HTTP başlığı yükü. Her seferinde ve tüm SSL şifrelemesi ile birlikte bu ek yük bağlantı maliyetlerine katkı sağlar. Çok fazla olmasa da tek bir istek için bant genişliği kullanıyorsanız bu, faturanızın önemli bir parçası ya da sık sık kısa bağlantı kuruyorsanız.
  • SSL şifreleme yükü: Güvenli bağlantılar için gerekli SSL şifreleme yüküyle ilişkili bir maliyet vardır. Ortalama olarak bu maliyet ilk el sıkışma için yaklaşık 3, 5 KB ve bayt olarak tanımlanabilir. Çoğu uygulama için bu ayar kesebilirsiniz. Ancak bu, kullanıcı başına ortalama gelirin özel durumunuz çok sayıda SSL el sıkışması gerektiriyorsa kullanabilirsiniz. Örneğin, cihazlar TLS oturum biletlerini desteklemeyen çok sayıda SSL bağlantısı el sıkışması gerektirebilir.
  • Firebase Console verileri: Bu genellikle önemli bir sayı olmasa da kısmına Realtime Database katkıda bulunursanız Firebase, okuduğunuz ve Firebase konsolundan yazın.

Faturalandırılan kullanımınızı tahmin etme

Mevcut Realtime Database bağlantılarınızı ve veri kullanımınızı görmek için şurayı kontrol edin: Kullanım Firebase konsolunda görebilirsiniz. Geçerli faturalandırma üzerinden kullanımı kontrol edebilirsiniz dönem, son 30 gün veya son 24 saat olabilir.

Firebase aşağıdaki metrikler için kullanım istatistiklerini gösterir:

  • Bağlantılar: Aynı anda açık olan, gerçek zamanlı bağlantıların sayısı yeniden yapılandırmanın ne kadar önemli olduğu. Buna aşağıdaki gerçek zamanlı bağlantılar dahildir: WebSocket, uzun süreli sorgu ve sunucu tarafından gönderilen HTML etkinlikleri. Ulaşıyor RESTful istekleri içermemelidir.
  • Depolama alanı: Veritabanınızda depolanan veri miktarıdır. Buna şunlar dahil değildir: Firebase barındırma veya diğer Firebase ürünleri üzerinden depolanan veriler.
  • İndirilenler: Protokol dahil olmak üzere veritabanınızdan indirilen tüm baytlar ve şifreleme ek yükü olur.
  • Yükleme: Bu grafik, veritabanınızın ne kadarının kullanılmakta olduğunu gösterir ve isteğe bağlı olarak değiştirebilirsiniz. Performans sorunlarıyla karşılaşabilirsiniz %100'e yaklaşır.

Kullanımı optimize etme

Veritabanı kullanımınızı optimize etmek için yararlanabileceğiniz birkaç en iyi uygulama vardır ve bant genişliği maliyetlerine göre değerlendirilir.

  • Yerel SDK'ları kullanın: Mümkün olduğunda kullanmanızı öneririz. SDK'lar SSL şifreleme maliyetlerini azaltır. Bu da genellikle REST API'yi kullanabilirsiniz.
  • Hata olup olmadığını kontrol edin: Bant genişliği maliyetleriniz beklenmedik şekilde yüksekse uygulamanızın orijinalinden daha fazla veri senkronize etmediğinden veya senkronize etmediğinden daha fazla amaçlanır. Sorunları tespit etmek için profil oluşturma aracını kullanarak okuma işlemlerinizi ölçün ve Android, Objective-C ve Web SDK'larında hata ayıklama günlük kaydını etkinleştirin. Her şeyin istediğiniz gibi çalıştığından emin olmak için uygulamanızdaki arka plan ve senkronizasyon işlemlerini kontrol edin.
  • Bağlantıları azaltın: Mümkünse bağlantı bant genişliğinizi optimize etmeye çalışın. Sıkça yapılan küçük REST istekleri tek bir istekten daha maliyetli olabilir. yerel SDK ile sürekli bağlantı. REST API kullanıyorsanız HTTP canlı tutma veya sunucu tarafından gönderilen etkinlikler, Bu, SSL el sıkışmalarından kaynaklanan maliyetleri azaltabilir.
  • TLS oturum biletlerini kullan: Devam ettirildiğinde SSL şifreleme ek yük maliyetlerini azaltır ve sözleşmeli çalışanlardan TLS oturum biletleri. Bu, özellikle sık ve güvenli bağlantılara ihtiyacınız varsa ekler.
  • Sorguları dizine ekleme: Verilerinizi dizine eklemek, sorgular için kullandığınız toplam bant genişliğini azaltır. Bu da maliyetlerinizi düşürme ve veritabanınızın performansını artırma gibi iki avantaj sağlar. Şunu kullanın: dizine eklenmeyen sorguları bulmak için Google yardımcı olur.
  • Dinleyicilerinizi optimize edin: Dinlediğiniz verileri sınırlandırmak için sorgular ekleyin yalnızca veri güncellemelerini indiren dinleyiciler kullanır. Bu işlem için örnek, once() yerine on(). Ayrıca dinleyicilerinizi olabildiğince hızlı ölçmeye çalışın.
  • Depolama alanı maliyetlerini azaltın: Düzenli temizlik işleri çalıştırın ve yinelenen işlerin sayısını azaltın verilerinizi saklamaya yarar.
  • Kuralları Kullanma: Veritabanında maliyetli olabilecek yetkisiz işlemleri önleyin. Örneğin, Firebase Realtime Database Security Rules kullandığınızda olası bir senaryodan kaçınabilirsiniz kötü amaçlı bir kullanıcı veritabanınızın tamamını tekrar tekrar indirir. Daha fazla bilgi: Firebase Gerçek Zamanlı Veritabanı Kuralları'nı kullanabilirsiniz.

Uygulamanız için en iyi optimizasyon planı, kullanım alanınıza bağlıdır. Bu, en iyi uygulamaları içeren kapsamlı bir liste olmasa da Firebase uzmanlarından daha fazla öneri ve ipucu için Slack kanalı veya Stack Overflow'da çalışır.