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 bisa memperkirakan besar tagihan yang dimiliki. Selain itu, jika ada masalah, pemecahan masalah yang Anda lakukan akan lebih mudah jika Anda memiliki gambaran yang jelas tentang operasi database Anda.

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 fitur 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 dan tidak semestinya digunakan untuk memperkirakan biaya penagihan.

Untuk mempelajari lebih lanjut penggunaan alat profiler, baca artikel 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), serta muatan database Anda dalam interval satu menit. Meskipun tab Penggunaan memberikan gambaran yang lebih akurat tentang performa database secara keseluruhan, Anda mungkin tidak akan dapat melihat rincian untuk memecahkan masalah performa yang mungkin timbul.

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.

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

Pelajari bagian berikut untuk mengetahui tips tentang penggunaan metrik Stackdriver tertentu untuk menemukan masalah performa.

Memantau performa di Stackdriver

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

Nama Metrik Deskripsi
Muatan Database

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 dan memecahkan masalah dengan baik. Muatan yang dilaporkan mungkin melampaui 100% pada operasi yang berlangsung lebih dari satu menit. Hal 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 Stackdriver 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 Stackdriver 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 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 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 dari klien.
  • update: Menangani operasi atau permintaan REST PATCH.

Memantau Aturan Keamanan di Stackdriver

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

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

Sesuaikan diagram Stackdriver Anda dengan evaluasi Aturan seperlunya, misalnya dengan memfilter hasil evaluasi tertentu, yakni ALLOW, DENY, atau ERROR. Penyiapan dan penyesuaian diagram tercakup dalam artikel Memantau Penggunaan Database.

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