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 muatan aplikasi, Anda juga dapat memperkirakan jumlah tagihan yang akan dikenakan. Selain itu, jika ada masalah, akan lebih mudah mengatasinya jika Anda memiliki gambaran yang jelas tentang operasi database.

Halaman ini berisi pembahasan mengenai pemantauan performa Realtime Database. Untuk mengetahui informasi mengenai pemantauan penggunaan, baca artikel Memantau Penggunaan Database.

Menggunakan alat pemantauan Realtime Database

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

Menggunakan alat profiler Realtime Database

Alat 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. Namun demikian, laporan ini tidak berisi informasi historis atau statistik tentang overhead koneksi. Laporan juga tidak semestinya digunakan untuk memperkirakan biaya penagihan.

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

Menggunakan Firebase console

Tab Usage di Firebase console menampilkan informasi tentang koneksi simultan ke database Anda, jumlah data yang Anda simpan, bandwidth keluar (termasuk overhead protokol dan enkripsi), serta muatan database dalam interval satu menit. Meskipun tab Usage memberikan ringkasan performa database secara keseluruhan dengan lebih akurat, Anda mungkin tidak akan dapat melihat perincian untuk memecahkan masalah performa yang mungkin timbul.

Menggunakan Cloud Monitoring

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

Langkah-langkah untuk menyiapkan Cloud Monitoring dijelaskan dalam artikel Memantau Penggunaan Database.

Pelajari bagian berikut untuk mengetahui tips terkait cara menggunakan metrik Cloud Monitoring tertentu untuk mendeteksi masalah performa.

Memantau performa di Cloud Monitoring

Jika mengalami masalah dengan performa, termasuk waktu beroperasi atau latensi, Anda dapat menggunakan Cloud Monitoring untuk memantau metrik berikut. Perlu diperhatikan bahwa semua nama jenis metrik diawali dengan firebasedatabase.googleapis.com/.

Nama Metrik Deskripsi
Database Load

io/database_load. Gunakan metrik ini untuk memantau jumlah penggunaan bandwidth database yang tersedia saat memproses permintaan dari waktu ke waktu. Anda mungkin akan melihat masalah performa saat muatan database Anda hampir mencapai total bandwidth yang tersedia. Anda juga dapat melihat jenis operasi yang memanfaatkan muatan paling banyak. Dengan begitu, Anda dapat memecahkan masalah sesuai situasinya. Muatan yang dilaporkan mungkin melampaui 100% pada operasi yang berlangsung lebih dari satu menit. Ini terjadi ketika bandwidth total yang digunakan selama beberapa menit disatukan ke dalam interval pelaporan satu menit setelah operasi selesai.

Network Disabled for Overages

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

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 muatan database yang digunakan setiap jenis operasi. Pastikan untuk mengelompokkan io/database_load menurut jenisnya guna 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 mengetahui apakah aplikasi Anda mengalami down time karena melampaui batas penyimpanan atau tidak.
  • 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 Cloud Monitoring dan menerima notifikasi berdasarkan metrik Realtime Database. Misalnya, Anda dapat memilih untuk menerima notifikasi jika io/database_load mendekati nilai minimum tertentu.

Pelajari daftar lengkap metrik Realtime Database yang tersedia melalui Cloud Monitoring.

Jenis Muatan Database

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

  • admin: Operasi admin, misalnya 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 terhubung.
  • on_disconnect: Mendaftarkan di 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.

Memantau Aturan Keamanan di Cloud Monitoring

Anda juga dapat menganalisis evaluasi Aturan Keamanan. Perlu diperhatikan bahwa semua nama jenis metrik diawali dengan firebasedatabase.googleapis.com/.

Nama Metrik Deskripsi
Rule evaluations rules/evaluation_count. Jumlah evaluasi Aturan Realtime Database yang dilakukan sebagai respons terhadap permintaan tulis atau baca. Anda dapat memerinci metrik ini berdasarkan hasil permintaan (ALLOW, DENY, atau ERROR).

Sesuaikan diagram Cloud Monitoring Anda dengan evaluasi Aturan sesuai keperluan, misalnya dengan memfilter hasil evaluasi tertentu, yakni ALLOW, DENY, atau ERROR. Penyiapan dan penyesuaian diagram dijelaskan dalam artikel Memantau Penggunaan Database.

Pelajari daftar lengkap metrik Realtime Database yang tersedia melalui Cloud Monitoring.