Buka konsol
Coba Cloud Firestore: Lihat database yang skalabel dan fleksibel dari Firebase dan Google Cloud Platform. Pelajari Cloud Firestore lebih lanjut.

Memantau Performa Database

Ada beberapa cara untuk memantau performa Firebase Realtime Database dan menemukan potensi masalah di aplikasi Anda. Dengan melihat bandwidth masuk dan keluar serta ukuran beban aplikasi, Anda juga bisa memperkirakan besar tagihan Anda. Selain itu, jika ada masalah, pemecahan masalah yang Anda lakukan akan lebih mudah jika Anda memiliki gambaran yang jelas tentang operasi database Anda.

Menggunakan fitur pemantauan Realtime Database

Anda dapat mengumpulkan data mengenai performa Realtime Database melalui sejumlah fitur berbeda, tergantung tingkat perincian yang Anda perlukan.

Menggunakan fitur profiler Realtime Database

Fitur profiler Realtime Database memberikan gambaran umum secara real time tentang operasi baca/tulis di database Anda. Laporan tersebut berisi informasi tentang kecepatan dan ukuran payload setiap operasi, serta kueri yang tidak diindeks. Walau begitu, laporan ini tidak berisi informasi histori atau statistik tentang overhead koneksi dan tidak sepantasnya digunakan untuk memperkirakan biaya penagihan.

Untuk mempelajari lebih lanjut tentang penggunaan fitur profiler, lihat Membuat profil database Anda.

Menggunakan Firebase console

Tab Penggunaan pada Firebase console menampilkan informasi tentang koneksi simultan ke database Anda, jumlah data yang Anda simpan, bandwidth keluar (termasuk overhead protokol dan enkripsi), dan beban database Anda dalam interval satu menit. Meskipun tab Penggunaan memberikan gambaran yang lebih akurat tentang performa database secara keseluruhan, Anda mungkin tidak dapat melihat rincian untuk memecahkan masalah performa atau penagihan yang mungkin timbul.

Pelajari lebih lanjut tentang statistik Penggunaan di Firebase console di bagian Memperkirakan tagihan penggunaan.

Menggunakan Stackdriver Monitoring

Dengan Stackdriver Monitoring dari Google Cloud Platform, Anda dapat menggunakan Metrics Explorer untuk melihat metrik performa secara individual atau membuat dasbor yang berbeda dengan diagram yang menampilkan berbagai kombinasi metrik performa dari waktu ke waktu. Integrasi Realtime Database dengan Stackdriver Monitoring menawarkan tingkat perincian terdalam.

Untuk memulai Stackdriver Monitoring, ikuti langkah-langkah di Quickstart untuk Google Compute Engine.

Setelah menyiapkan Stackdriver Monitoring, gunakan Metrics Explorer atau buat dasbor berisi diagram untuk memantau performa database Anda.

Daftar lengkap metrik performa Realtime Database yang tersedia melalui Stackdriver Monitoring bisa dilihat dalam daftar metrik GCP. Lihat bagian berikut untuk mengetahui tips tentang penggunaan metrik tertentu untuk menemukan masalah penagihan atau performa.

Memantau tagihan penggunaan

Tab Penggunaan di Firebase console dan metrik yang tersedia melalui Stackdriver Monitoring dapat membantu Anda memperkirakan tagihan penggunaan Realtime Database. Harap diingat bahwa statistik penggunaan yang tersedia di Firebase console dan Stackdriver hanya merupakan perkiraan. Lihat Memahami penagihan Realtime Database untuk informasi lebih lanjut tentang penagihan.

Untuk menggunakan Stackdriver Monitoring guna memantau tagihan penggunaan, perhatikan metrik berikut:

  • network/sent_payload_bytes_count: Metrik ini menunjukkan ukuran data yang diminta melalui operasi database (termasuk pengambilan, kueri, penulisan, pembaruan listener realtime, dan siaran). Metrik ini tidak mencakup overhead koneksi (protokol atau enkripsi). sent_payload_bytes_count memengaruhi biaya bandwidth keluar Anda, tetapi tidak memperhitungkan total tagihan biaya. Metrik ini adalah perkiraan data yang dikirim dari database Anda sebagai respons atas permintaan. Namun, karena metrik ini mengukur ukuran payload dari data yang diminta, bukan data yang benar-benar dikirim, metrik ini tidak selalu akurat.
  • network/sent_payload_and_protocol_bytes_count: Metrik ini menunjukkan ukuran data payload yang dijelaskan di atas dan overhead protokol yang diperlukan oleh koneksi (misalnya, header HTTP, frame WebSocket, dan frame protokol realtime Firebase). Metrik ini tidak memperhitungkan biaya enkripsi yang menggunakan koneksi aman.
  • network/sent_bytes_count: Metrik ini menunjukkan perkiraan ukuran total data yang dikirim dari database Anda melalui operasi baca. Metrik ini meliputi data payload yang benar-benar dikirim ke klien, selain overhead protokol dan enkripsi yang menimbulkan biaya koneksi. Metrik ini menunjukkan total bandwidth keluar dalam tagihan Realtime Database Anda.

  • storage/total_bytes: Gunakan metrik ini untuk memantau jumlah data yang Anda simpan di database. Data yang disimpan di Realtime Database memengaruhi biaya penagihan Anda.

Kombinasikan metrik dalam bentuk diagram di dasbor Anda untuk mendapatkan analisis dan ringkasan yang akan membantu Anda. Misalnya, coba kombinasi berikut:

  • Data keluar: Gunakan metrik network/sent_bytes_count, network/sent_payload_and_protocol_bytes_count, dan network/sent_payload_bytes_count untuk menemukan potensi masalah akibat overhead protokol atau enkripsi yang dapat menyebabkan biaya tak terduga dalam tagihan Anda. Jika menemukan perbedaan besar antara ukuran payload data yang diminta dan metrik lainnya yang menunjukkan overhead koneksi, sebaiknya Anda memecahkan masalah yang dapat menimbulkan error timeout atau seringnya koneksi. Jika Anda tidak menggunakan tiket sesi TLS, Anda dapat mencoba menerapkannya untuk mengurangi overhead koneksi SSL untuk koneksi yang dilanjutkan.
  • Operasi: Gunakan metrik io/database_load untuk melihat jumlah total beban database yang digunakan setiap jenis operasi. Pastikan untuk mengelompokkan io/database_load menurut jenisnya untuk memecahkan masalah pada jenis operasi yang berbeda.
  • Penyimpanan: Gunakan storage/limit dan storage/total_bytes untuk memantau pemanfaatan penyimpanan Anda dalam kaitannya dengan batas penyimpanan Realtime Database.

Lihat daftar lengkap metrik Realtime Database yang tersedia melalui Stackdriver Monitoring.

Memantau performa

Jika mengalami masalah performa, termasuk waktu beroperasi atau latensi, sebaiknya Anda menggunakan Stackdriver untuk memantau metrik berikut:

  • io/database_load: Gunakan metrik ini untuk memantau jumlah penggunaan bandwidth database yang tersedia saat memproses permintaan dari waktu ke waktu. Anda mungkin akan mengalami masalah performa saat beban database Anda hampir mencapai total bandwidth yang tersedia. Anda juga dapat melihat jenis operasi yang memanfaatkan beban paling banyak dan menggunakan informasi tersebut untuk memecahkan masalah. Beban yang dilaporkan mungkin melampaui 100% pada operasi yang berlangsung lebih dari satu menit. Ini terjadi ketika total bandwidth yang digunakan selama beberapa menit disatukan ke dalam interval pelaporan satu menit setelah operasi selesai.
  • network/disabled_for_overages: Metrik ini menunjukkan penghentian layanan yang mungkin terjadi jika Realtime Database Anda melampaui batas bandwidth atau jaringan.
  • storage/disabled_for_overages: Metrik ini menunjukkan penghentian layanan yang mungkin terjadi jika Realtime Database Anda melampaui batas penyimpanan.

Kombinasikan metrik dalam bentuk diagram di dasbor Anda untuk mendapatkan analisis dan ringkasan yang akan membantu Anda. Misalnya, coba kombinasi berikut:

  • Operasi: Gunakan metrik io/database_load untuk melihat jumlah total beban database yang digunakan setiap jenis operasi. Pastikan untuk mengelompokkan io/database_load menurut jenisnya untuk memecahkan masalah pada jenis operasi yang berbeda.
  • Penyimpanan: Gunakan storage/limit dan storage/total_bytes untuk memantau pemanfaatan penyimpanan Anda dalam kaitannya dengan batas penyimpanan Realtime Database. Anda juga dapat menambahkan storage/disabled_for_overages untuk melihat apakah aplikasi Anda mengalami down time karena melampaui batas penyimpanan.
  • Overhead SSL: Gunakan network/https_requests_count untuk memantau jumlah permintaan koneksi SSL yang diterima database Anda, dan bagilah permintaan yang menggunakan kembali tiket sesi SSL yang ada dengan filter reused_ssl_session. Anda dapat mengukurnya dengan network/sent_bytes_count dan network/sent_payload_and_protocol_bytes_count untuk memantau apakah aplikasi Anda menggunakan tiket sesi SSL secara efisien atau tidak.

Anda juga dapat menyiapkan pemberitahuan melalui Stackdriver Monitoring dan menerima notifikasi berdasarkan metrik Realtime Database. Misalnya, Anda dapat memilih untuk menerima notifikasi jika io/database_load hampir mencapai ambang batas tertentu.

Lihat daftar lengkap metrik Realtime Database yang tersedia melalui Stackdriver Monitoring.

Jenis Beban Database

Metrik io/database_load juga menyediakan label jenis operasi yang menyebabkan beban. Berikut ini adalah kemungkinan jenis operasi yang diukur:

  • admin: Operasi admin seperti menetapkan aturan dan membaca metadata project.
  • auth: Memverifikasi autentikasi dari akun layanan atau Firebase Authentication untuk satu klien.
  • client_management: Menangani penambahan dan penghapusan koneksi serentak, termasuk menjalankan operasi pemutusan koneksi saat penghapusan.
  • get_shallow: Mengambil data dari REST GET dengan shallow=true.
  • get: Menangani operasi REST GET.
  • listen: Mengambil data awal untuk operasi on dan once dari klien yang tersambung.
  • on_disconnect: Mendaftarkan operasi pemutusan dari klien.
  • put: Menangani operasi set dari klien atau operasi REST PUT.
  • transaction: Melakukan transaksi dari permintaan REST bersyarat atau operasi transaction dari klien.
  • update: Menangani operasi update atau permintaan REST PATCH.