Pengoptimalan performa dimulai dengan mengidentifikasi metrik utama, yang biasanya terkait dengan latensi dan throughput. Penambahan pemantauan untuk menangkap dan melacak metrik ini mengekspos titik lemah dalam aplikasi. Dengan metrik, pengoptimalan dapat dilakukan untuk meningkatkan metrik performa.
Selain itu, banyak alat pemantauan memungkinkan Anda menyiapkan pemberitahuan untuk metrik, sehingga Anda akan menerima notifikasi saat nilai minimum tertentu terpenuhi. Misalnya, Anda dapat menyiapkan pemberitahuan yang memberitahukan saat persentase permintaan yang gagal meningkat lebih dari x% dari level normal. Alat pemantauan dapat membantu Anda mengidentifikasi seperti apa performa normal dan mengidentifikasi lonjakan latensi yang tidak wajar, jumlah error, dan metrik utama lainnya. Kemampuan untuk memantau metrik ini sangat penting selama jangka waktu yang penting bagi bisnis, atau setelah kode baru dikirimkan ke produksi.
Mengidentifikasi metrik latensi
Pastikan untuk menjaga UI Anda seresponsif mungkin, dengan memperhatikan bahwa pengguna mengharapkan standar yang lebih tinggi dari aplikasi seluler. Latensi juga harus diukur dan dilacak untuk layanan backend, terutama karena dapat menyebabkan masalah throughput jika tidak dicentang.
Metrik yang disarankan untuk dilacak mencakup hal berikut:
- Durasi permintaan
- Durasi permintaan pada perincian subsistem (seperti panggilan API)
- Durasi tugas
Mengidentifikasi metrik throughput
Throughput adalah ukuran jumlah total permintaan yang dilayani selama jangka waktu tertentu. Throughput dapat dipengaruhi oleh latensi subsistem, sehingga Anda mungkin perlu mengoptimalkan latensi untuk meningkatkan throughput.
Berikut beberapa metrik yang disarankan untuk dilacak:
- Kueri per detik
- Ukuran data yang ditransfer per detik
- Jumlah operasi I/O per detik
- Pemanfaatan resource, seperti penggunaan CPU atau memori
- Ukuran backlog pemrosesan, seperti pub/sub atau jumlah thread
Bukan hanya nilai rata-rata
Kesalahan umum dalam mengukur performa hanya melihat kasus rata-rata (rata-rata). Meskipun bermanfaat, cara ini tidak memberikan insight tentang distribusi latensi. Metrik yang lebih baik untuk dilacak adalah persentil performa, misalnya persentil ke-50/75/90/99 untuk suatu metrik.
Umumnya, pengoptimalan dapat dilakukan dalam dua langkah. Pertama, optimalkan latensi persentil ke-90. Kemudian, pertimbangkan persentil ke-99—juga dikenal sebagai latensi tail: sebagian kecil permintaan yang memerlukan waktu lebih lama untuk diselesaikan.
Pemantauan sisi server untuk hasil yang mendetail
Pembuatan profil sisi server umumnya lebih disukai untuk melacak metrik. Sisi server biasanya jauh lebih mudah diinstrumentasikan, memungkinkan akses ke data yang lebih terperinci, dan tidak terlalu rentan terhadap gangguan akibat masalah konektivitas.
Pemantauan browser untuk visibilitas menyeluruh
Pembuatan profil browser dapat memberikan insight tambahan tentang pengalaman pengguna akhir. Alat ini dapat menunjukkan halaman yang memiliki permintaan lambat, yang kemudian dapat Anda korelasikan dengan pemantauan sisi server untuk analisis lebih lanjut.
Google Analytics menyediakan pemantauan siap pakai untuk waktu muat halaman dalam laporan waktu halaman. Hal ini memberikan beberapa tampilan yang berguna untuk memahami pengalaman pengguna di situs Anda, khususnya:
- Waktu muat halaman
- Alihkan waktu pemuatan
- Waktu respons server
Pemantauan di cloud
Ada banyak alat yang dapat Anda gunakan untuk mengambil dan memantau metrik performa untuk aplikasi Anda. Misalnya, Anda dapat menggunakan Google Cloud Logging untuk mencatat metrik performa ke Project Google Cloud Anda, lalu menyiapkan dasbor di Google Cloud Monitoring untuk memantau dan mengelompokkan metrik yang dicatat ke dalam log.
Lihat Panduan logging untuk mengetahui contoh logging ke Google Cloud Logging dari interseptor kustom di library klien Python. Dengan data yang tersedia di Google Cloud, Anda dapat membangun metrik berdasarkan data yang dicatat dalam log untuk mendapatkan visibilitas ke aplikasi Anda melalui Google Cloud Monitoring. Ikuti panduan untuk metrik berbasis log yang ditentukan pengguna guna mem-build metrik menggunakan log yang dikirim ke Google Cloud Logging.
Atau, Anda dapat menggunakan library klien Monitoring untuk menentukan metrik dalam kode Anda dan mengirimkannya langsung ke Monitoring, yang terpisah dari log.
Contoh metrik berbasis log
Misalkan Anda ingin memantau nilai is_fault
untuk lebih memahami tingkat error dalam aplikasi Anda. Anda dapat mengekstrak nilai is_fault
dari log ke dalam metrik penghitung baru, ErrorCount
.
Di Cloud Logging, label memungkinkan Anda mengelompokkan metrik ke dalam kategori berdasarkan data lain di log. Anda dapat mengonfigurasi label untuk kolom method
yang dikirim ke Cloud Logging untuk melihat bagaimana jumlah error dikelompokkan berdasarkan metode Google Ads API.
Dengan metrik ErrorCount
dan label Method
yang dikonfigurasi, Anda dapat membuat diagram baru di dasbor Monitoring untuk memantau ErrorCount
, yang dikelompokkan menurut Method
.
Alerts (Pemberitahuan)
Di Cloud Monitoring dan alat lainnya, Anda dapat mengonfigurasi kebijakan pemberitahuan yang menentukan waktu dan cara pemberitahuan dipicu oleh metrik. Untuk mendapatkan petunjuk tentang cara menyiapkan pemberitahuan Cloud Monitoring, ikuti panduan pemberitahuan.