Ringkasan Cloud Profiler
Memahami performa sistem produksi sangatlah sulit. Mencoba mengukur performa di lingkungan pengujian biasanya gagal mereplikasi tekanan pada sistem produksi. Microbenchmarking bagian aplikasi Anda terkadang dapat dilakukan, tetapi biasanya juga gagal mereplikasi beban kerja dan perilaku sistem produksi.
Pembuatan profil sistem produksi secara berkelanjutan adalah cara yang efektif untuk menemukan tempat resource seperti siklus CPU dan memori digunakan saat layanan beroperasi di lingkungan kerjanya. Namun, pembuatan profil menambahkan beban tambahan pada sistem produksi: agar menjadi cara yang dapat diterima untuk menemukan pola penggunaan resource, beban tambahan pembuatan profil harus kecil.
Cloud Profiler adalah profiler statistik dengan overhead rendah yang terus mengumpulkan informasi penggunaan CPU dan alokasi memori dari aplikasi produksi Anda. Cloud Profiler mengatribusikan informasi tersebut ke kode sumber yang membuatnya, membantu Anda mengidentifikasi bagian aplikasi yang paling banyak menggunakan resource, dan menunjukkan karakteristik performa aplikasi Anda.
Jenis pembuatan profil yang tersedia
Cloud Profiler mendukung berbagai jenis pembuatan profil berdasarkan bahasa yang digunakan untuk menulis program. Tabel berikut merangkum jenis profil yang didukung berdasarkan bahasa:
Jenis profil | Go | Java | Node.js | Python |
---|---|---|---|---|
Waktu CPU | Y | Y | Y | |
Heap | Y | Y | Y | |
Heap yang dialokasikan | Y | |||
Pertentangan | Y | |||
Rangkaian pesan | Y | |||
Waktu proses | Y | Y | Y |
Untuk mengetahui informasi lengkap tentang persyaratan bahasa dan batasan apa pun, lihat halaman cara menggunakan bahasa. Untuk mengetahui informasi selengkapnya tentang jenis profil ini, lihat Konsep pembuatan profil.
Konfigurasi yang didukung
Saat membuat instrument aplikasi untuk mengambil data profil, Anda menyertakan agen pembuatan profil khusus bahasa. Tabel berikut merangkum lingkungan yang didukung:
Lingkungan | Go | Java | Node.js | Python |
---|---|---|---|---|
Compute Engine | Y | Y | Y | Y |
Google Kubernetes Engine | Y | Y | Y | Y |
Lingkungan fleksibel App Engine | Y | Y | Y | Y |
Lingkungan standar App Engine | Y | Y | Y | Y |
Dataproc | Y | |||
Dataflow | Y | Y | ||
Di luar Google Cloud | Y | Y | Y | Y |
Tabel berikut meringkas sistem operasi yang didukung:
Sistem operasi | Go | Java | Node.js | Python |
---|---|---|---|---|
Implementasi library C standar Linuxglibc |
Y | Y | Y | Y |
Implementasi library C standar Linuxmusl |
Y | Y (Alfa) | Y | Y (Alfa) |
Dampak performa
Cloud Profiler membuat satu profil dengan mengumpulkan data pembuatan profil, biasanya selama 10 detik, setiap 1 menit untuk satu instance layanan yang dikonfigurasi di satu zona Compute Engine. Misalnya, jika layanan GKE Anda menjalankan 10 replika pod, dalam periode 10 menit, sekitar 10 profil akan dibuat, dan setiap pod akan dibuat profilnya sekitar sekali. Periode pembuatan profil dilakukan secara acak, sehingga ada variasi. Lihat Pengumpulan profil untuk mengetahui informasi selengkapnya.
Overhead pembuatan profil alokasi CPU dan heap pada saat pengumpulan data kurang dari 5 persen. Dengan amortisasi selama waktu eksekusi dan di beberapa replika layanan, overhead biasanya kurang dari 0,5 persen, sehingga menjadi opsi yang terjangkau untuk pembuatan profil yang selalu aktif di sistem produksi.
Komponen
Cloud Profiler terdiri dari agen pembuatan profil, yang mengumpulkan data, dan antarmuka konsol di Google Cloud, yang memungkinkan Anda melihat dan menganalisis data yang dikumpulkan oleh agen.
Membuat profil agen
Anda menginstal agen di virtual machine tempat aplikasi Anda berjalan. Agen biasanya disertakan sebagai library yang Anda lampirkan ke aplikasi saat menjalankannya. Agen mengumpulkan data pembuatan profil saat aplikasi berjalan.
Untuk informasi tentang cara menjalankan agen Cloud Profiler, lihat:- Membuat profil aplikasi Go
- Membuat profil aplikasi Java
- Membuat profil aplikasi Node.js
- Membuat profil aplikasi Python
- Membuat profil aplikasi yang berjalan di luar Google Cloud
Antarmuka profiler
Setelah agen mengumpulkan beberapa data pembuatan profil, Anda dapat menggunakan antarmuka Profiler untuk melihat korelasi statistik penggunaan CPU dan memori dengan area aplikasi Anda.
Data profil disimpan selama 30 hari, sehingga Anda dapat menganalisis data performa untuk periode hingga 30 hari terakhir. Profil dapat didownload untuk penyimpanan jangka panjang.
Kuota dan batas
Untuk mengetahui informasi tentang cara melihat dan mengelola kuota Profiler, lihat Kuota dan batas.
Keamanan data
Cloud Profiler adalah layanan yang didukung Kontrol Layanan VPC. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Kontrol Layanan VPC.