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 trafiğe bağlantı ve şifreleme ek yükü dahildir tüm veritabanı işlemlerinden ve veritabanı okumaları aracılığıyla indirilen verilerden yararlanır. 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ılmış trafikle ilgili bazı yaygın örnekler şunlardır:

  • İndirilen veriler: Müşteriler veritabanınızdan veri aldığında Firebase, indirilmiş veriler için ücret alınır. Bu, genellikle bütçenizin ancak bant genişliği maliyetleri de faturanızdaki tek faktör 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. 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. Ç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 şifrelemesi ek yükü: SSL şifrelemesiyle ilişkili bir maliyet vardır. şifreleme ek yükünü azaltı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 konsolu verileri: Bu genellikle önemli bir sayı olmasa da bölümünü oluşturur, Firebase ise okuduğunuz ve belirlediğiniz veriler için ücret alır. yazması gerekir.

Faturalandırılmış kullanımınızı tahmin edin

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

Firebase, aşağıdaki metriklerin 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. Şu gerçek zamanlı raporları içerir: bağlantılar: WebSocket, uzun yoklama ve HTML sunucusu tarafından gönderilen etkinlikler. 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 et

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ı belirlemek için profil aracı'nı kullanarak Okuma işlemlerinizi ölçmek ve hata ayıklama günlük kaydını açmak için Android, Hedef-C, ve Web SDK'lar. Uygulamanızın arka plan ve senkronizasyon işlemlerini kontrol ederek ve her şeyin istediğiniz gibi gitmesini sağlayın.
  • Bağlantıları azaltın: Mümkünse bağlantınızı optimize etmeyi deneyin bant genişliği. 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 verilen bağlantılarla TLS oturum biletleri. Bu, özellikle sık ve güvenli bağlantılara ihtiyacınız varsa ekler.
  • Dizin sorguları: Verilerinizi dizine ekleme sorgular için kullandığınız toplam bant genişliğini azaltır ve bu da iki kat avantaj sağlar veri tabanınızın performansını artırmaya yardımcı olur. Ş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 veri tabanında bulunan verileri toplar.
  • Kuralları kullanın: yardımcı olur. Örneğin, Firebase Realtime Database Güvenlik Kuralları'nı kullanarak belirli 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.
ziyaret edin.

Uygulamanız için en iyi optimizasyon planı, kendi 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.