Mengukur performa aplikasi
Dokumen ini menunjukkan cara menyiapkan dan menggunakan Cloud Profiler. Anda mendownload contoh program Go, menjalankannya dengan mengaktifkan profiling, lalu menggunakan antarmuka Profiler untuk menjelajahi data yang direkam.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pada panel navigasi Google Cloud Console, pilih APIs & Services, klik Enable APIs and Services, lalu aktifkan Cloud Profiler API:
Jika API diaktifkan ditampilkan, berarti API sudah diaktifkan. Jika belum, klik tombol Enable.
- Untuk membuka Cloud Shell, di toolbar Konsol Google Cloud, klik
Activate Cloud Shell:
Setelah beberapa saat, sesi Cloud Shell akan terbuka di dalam konsol Google Cloud:
Dapatkan program untuk membuat profil
Program contoh, main.go
, berada di repositori golang-samples
di GitHub. Untuk mendapatkannya, ambil paket contoh Go:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Pengambilan paket memerlukan waktu beberapa saat hingga selesai.
Membuat profil kode
Buka direktori kode contoh untuk Profiler dalam paket yang diambil:
cd golang-samples/profiler/profiler_quickstart
Program main.go
membuat beban kerja yang membebani CPU untuk menyediakan data ke
profiler. Mulai program dan biarkan berjalan:
go run main.go
Program ini dirancang untuk memuat CPU saat berjalan. Profiler ini dikonfigurasi untuk menggunakan Profiler, yang mengumpulkan data pembuatan profil dari program saat dijalankan dan menyimpannya secara berkala.
Beberapa detik setelah memulai program, Anda akan melihat pesan
profiler has started
. Dalam waktu sekitar satu menit, dua pesan lagi akan ditampilkan:
successfully created profile CPU
start uploading profile
Pesan ini menunjukkan bahwa profil telah dibuat dan diupload ke project Cloud Storage Anda. Program akan terus memancarkan dua pesan terakhir, sekitar satu kali per menit, selama berjalan.
Jika Anda menerima pesan error "Izin ditolak" setelah memulai layanan, lihat Error pada konfigurasi project Google Cloud Anda.
Antarmuka profiler
Beberapa saat setelah Anda memulai aplikasi, Profiler akan menampilkan data profil awal. Antarmuka ini menawarkan array kontrol dan grafik flame untuk menjelajahi data pembuatan profil:
Selain kontrol waktu, ada opsi yang memungkinkan Anda memilih kumpulan data profil yang akan digunakan. Saat membuat profil beberapa aplikasi, Anda menggunakan Service untuk memilih asal data yang diprofil. Jenis profil memungkinkan Anda memilih jenis data profil yang akan ditampilkan. Nama zona dan Versi memungkinkan Anda membatasi tampilan ke data dari zona Compute Engine atau versi aplikasi. Bobot memungkinkan Anda memilih profil yang diambil selama konsumsi resource puncak.
Tambahkan filter untuk menyaring cara grafik flame menampilkan profil yang telah dipilih untuk dianalisis. Dalam screenshot sebelumnya, panel filter
filter_list menampilkan
satu filter. Opsi filter ini adalah Metric
dan nilai filternya adalah CPU time
.
Mengeksplorasi data
Grafik flame menampilkan stack panggilan program. Grafik flame merepresentasikan setiap fungsi dengan frame. Lebar frame mewakili proporsi konsumsi resource oleh fungsi tersebut. {i>Frame<i} atas mewakili seluruh program. Frame ini selalu menunjukkan 100% konsumsi resource. Frame ini juga mencantumkan berapa banyak profil yang dirata-ratakan secara bersamaan dalam grafik ini.
Program contoh tidak memiliki kumpulan stack panggilan yang rumit; dalam screenshot sebelumnya, Anda melihat 5 frame:
- Frame abu-abu mewakili seluruh file yang dapat dieksekusi, yang menyumbang 100% resource yang digunakan.
- Frame
main
hijau adalah Goruntime.main
. - Frame
main
oranye adalah rutinitasmain
dalam program contoh. - Frame
busyloop
oranye adalah rutinitas yang dipanggil darimain
sampel. - Frame
main.load
oranye adalah rutinitas yang dipanggil darimain
sampel.
Pemilih filter memungkinkan Anda melakukan berbagai hal seperti memfilter fungsi yang cocok dengan
beberapa nama. Misalnya, jika ada library standar fungsi utilitas,
Anda dapat menghapusnya dari grafik. Anda juga dapat menghapus stack panggilan
yang berasal dari metode tertentu atau menyederhanakan grafik dengan cara lain.
Aplikasi main.go
sederhana, sehingga tidak banyak
yang harus difilter.
Bahkan untuk aplikasi sederhana, filter memungkinkan Anda menyembunyikan frame yang tidak menarik sehingga
Anda dapat melihat frame yang menarik dengan lebih jelas. Misalnya, di
screenshot pembuatan profil untuk kode contoh, frame abu-abu sedikit
lebih besar daripada frame main
pertama di bawahnya. Mengapa demikian? Apakah ada hal lain yang terjadi yang tidak langsung terlihat karena stack panggilan main
memakai persentase resource yang sangat banyak?
Untuk melihat apa yang terjadi di luar rutinitas main
aplikasi,
tambahkan filter yang menyembunyikan stack panggilan rutinitas main
.
Hanya 0,227% konsumsi resource terjadi di luar main
:
Untuk mengetahui informasi selengkapnya tentang pemfilteran dan cara lain untuk mempelajari data pembuatan profil, lihat Memilih profil yang akan dianalisis.
Langkah selanjutnya
Untuk informasi umum tentang pembuatan profil, lihat dokumen berikut:
- Ringkasan Cloud Profiler
- Konsep pembuatan profil
- Baca referensi kami tentang DevOps dan jelajahi program riset DORA.
- Aplikasi profiling Go
- Membuat profil aplikasi Java
- Membuat profil aplikasi Node.js
- Membuat profil aplikasi Python
- Membuat profil aplikasi yang berjalan di luar Google Cloud