Dokumen ini menunjukkan cara mendiagnosis dan memitigasi masalah performa CPU, memori, dan penyimpanan pada instance virtual machine (VM) Compute Engine dan instance bare metal.
Sebelum memulai
- Instal Agen Operasional untuk melihat metrik performa instance lengkap, seperti pemakaian ruang disk dan memori
Melihat metrik performa
Untuk melihat metrik performa instance komputasi Anda, gunakan metrik kemampuan pengamatan Cloud Monitoring yang tersedia di konsol Google Cloud.
Di konsol Google Cloud, buka halaman Instance VM.
Anda dapat melihat metrik untuk setiap instance atau untuk lima instance yang menggunakan resource dalam jumlah terbesar.
Untuk melihat metrik setiap instance, lakukan tindakan berikut:
Klik nama instance yang ingin Anda lihat metrik performanya. Halaman Detail instance akan terbuka.
Klik tab Kemampuan observasi untuk membuka halaman Ringkasan Kemampuan observasi.
Untuk melihat metrik lima instance yang menggunakan resource dalam jumlah terbesar, klik tab Observability di halaman VM instances.
Pelajari metrik performa instance. Lihat bagian Ringkasan, CPU, Memori, Jaringan, dan Disk untuk melihat metrik yang terperinci tentang setiap topik. Berikut adalah metrik utama yang menunjukkan performa instance:
Di halaman Ringkasan:
Penggunaan CPU. Persentase CPU yang digunakan oleh instance.
Pemakaian Memori. Persentase memori yang digunakan oleh instance, tidak termasuk cache disk. Untuk instance yang menggunakan OS Linux, ini juga tidak termasuk memori kernel.
Traffic Jaringan. Tingkat rata-rata byte yang dikirim dan diterima dalam interval satu menit.
Koneksi Baru dengan VM/Eksternal/Google. Perkiraan jumlah alur TCP/UDP yang berbeda dalam satu menit, yang dikelompokkan berdasarkan jenis pembanding.
Throughput Disk. Tingkat rata-rata byte yang ditulis ke dan dibaca dari disk.
IOPS Disk. Tingkat rata-rata operasi baca dan tulis I/O ke disk.
Di halaman Ringkasan Jaringan:
Dikirim ke VM/Eksternal/Google. Tingkat laju traffic jaringan yang dikirim ke layanan Google, instance, dan tujuan eksternal, berdasarkan sampel paket. Metrik diskalakan sehingga jumlahnya cocok dengan total traffic jaringan yang dikirim.
Diterima dari VM/Eksternal/Google. Tingkat traffic jaringan yang diterima dari layanan Google, instance, dan sumber eksternal, berdasarkan sampel paket. Metrik diskalakan sehingga jumlahnya cocok dengan total traffic jaringan yang diterima.
Total Paket Jaringan. Tingkat total paket yang dikirim dan diterima dalam interval satu menit.
Ukuran Rata-Rata Paket. Ukuran rata-rata paket, dalam byte, yang dikirim dan diterima dalam interval satu menit.
Paket Masuk Ditolak Firewall. Tingkat paket jaringan masuk yang dikirim ke instance, tetapi tidak diterima oleh instance, karena ditolak oleh aturan firewall.
Di halaman Performa Disk:
Rata-Rata Ukuran I/O. Ukuran rata-rata operasi baca dan tulis I/O ke disk. I/O acak kecil (4 hingga 16 KiB) biasanya dibatasi oleh IOPS, dan I/O berurutan atau besar (256 KiB hingga 1 MiB) dibatasi oleh throughput.
Rata-Rata Panjang Antrean. Jumlah operasi I/O disk dalam antrean dan yang berjalan, disebut juga kedalaman antrean, untuk 5 perangkat teratas. Untuk mencapai batas performa disk, gunakan kedalaman antrean I/O yang tinggi. Persistent Disk dan Google Cloud Hyperdisk adalah penyimpanan dalam jaringan dan umumnya memiliki latensi lebih tinggi dibandingkan dengan disk fisik atau disk SSD Lokal.
Rata-Rata Latensi I/O. Latensi rata-rata operasi baca dan tulis I/O yang digabungkan di seluruh operasi dari semua disk yang terpasang ke instance, yang diukur oleh Agen Operasional. Nilai ini mencakup latensi pemrosesan sistem operasi dan sistem file, dan bergantung pada panjang antrean dan ukuran I/O.
Memahami metrik performa
Performa instance dipengaruhi oleh hardware yang digunakan untuk menjalankan instance, workload yang berjalan pada instance, dan jenis mesin instance. Jika hardware tidak dapat mendukung workload atau traffic jaringan instance, performa instance Anda mungkin akan terpengaruh.
Performa CPU dan memori
Detail hardware
Performa CPU dan memori dipengaruhi oleh batasan hardware berikut:
- Setiap CPU virtual (vCPU) diimplementasikan sebagai hardware multi-thread tunggal pada prosesor CPU.
- Prosesor CPU Intel Xeon mendukung beberapa thread aplikasi pada satu inti prosesor.
- VM yang menggunakan jenis mesin C2 memiliki pemetaan inti virtual ke fisik yang tetap dan mengekspos arsitektur sel NUMA ke OS tamu.
- Sebagian besar VM mendapatkan frekuensi all-core turbo yang tercantum di platform CPU, meskipun hanya frekuensi dasar yang diberitahukan ke lingkungan tamu
- Jenis mesin dengan inti bersama menggunakan pengalihan konteks untuk berbagi inti fisik antar- vCPU untuk multitasking. Jenis ini juga menawarkan kemampuan bursting sehingga pemakaian CPU untuk VM dapat lebih dari 100%. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin dengan inti bersama.
Untuk memahami performa CPU dan memori instance, lihat metrik performa untuk Pemakaian CPU dan Pemakaian Memori. Anda juga dapat menggunakan metrik proses untuk melihat proses yang sedang berjalan, mengatribusikan anomali dalam konsumsi resource ke proses tertentu, atau mengidentifikasi pemakai resource instance yang paling mahal.
Pemakaian CPU atau memori yang tinggi secara konsisten menunjukkan perlunya meningkatkan skala VM. Jika VM secara konsisten menggunakan lebih dari 90% CPU atau memorinya, ubah jenis mesin VM ke jenis mesin dengan vCPU atau memori yang lebih banyak.
Penggunaan CPU yang sangat tinggi atau sangat rendah mungkin menunjukkan bahwa VM Anda mengalami soft lockup CPU. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah soft lockup vCPU.
Performa jaringan
Detail hardware
Performa jaringan dipengaruhi oleh batasan hardware berikut:
- Setiap jenis mesin memiliki batas bandwidth traffic keluar tertentu. Untuk mengetahui bandwidth traffic keluar maksimum untuk jenis mesin instance Anda, buka halaman yang sesuai dengan kelompok mesin instance Anda.
- Penambahan antarmuka jaringan tambahan atau penambahan alamat IP tambahan per antarmuka jaringan ke VM tidak akan meningkatkan bandwidth jaringan traffic masuk atau keluar VM, tetapi Anda dapat mengonfigurasi beberapa jenis mesin untuk bandwidth yang lebih tinggi. Untuk informasi selengkapnya, lihat Mengonfigurasi VM dengan bandwidth lebih tinggi.
Untuk memahami performa jaringan instance, lihat metrik performa untuk Total Paket Jaringan, Ukuran Rata-Rata Paket, Koneksi Baru dengan VM/Eksternal/Google, Dikirim ke VM/Eksternal/Google, Diterima dari VM/Eksternal/Google, dan Paket Masuk Ditolak Firewall.
Tinjau apakah Total Paket Jaringan, Ukuran Rata-Rata Paket, dan Koneksi Baru dengan VM/Eksternal/Google sudah standar untuk workload Anda. Misalnya, server web mungkin mengalami banyak koneksi dan paket kecil, sementara database mungkin mengalami sedikit koneksi dan paket besar.
Traffic jaringan keluar yang tinggi secara konsisten dapat mengindikasikan perlunya mengubah jenis mesin VM ke jenis mesin yang memiliki batas bandwidth traffic keluar yang lebih tinggi.
Jika Anda melihat banyak paket masuk yang ditolak oleh firewall, buka halaman Analisis Firewall Kecerdasan Jaringan di konsol Google Cloud untuk mempelajari lebih lanjut asal paket yang ditolak.
Buka halaman Analisis Firewall
Jika menurut Anda traffic Anda sendiri tidak seharusnya ditolak oleh firewall, coba jalankan uji konektivitas.
Jika instance Anda mengirim dan menerima traffic dalam jumlah besar dari instance di zona atau region yang berbeda, pertimbangkan untuk mengubah workload Anda untuk menyimpan lebih banyak data dalam zona atau region untuk meningkatkan latensi dan mengurangi biaya. Untuk mengetahui informasi selengkapnya, lihat Harga transfer data VM-VM dalam Google Cloud. Jika instance Anda mengirim traffic dalam jumlah besar ke instance lain dalam zona yang sama, pertimbangkan kebijakan penempatan rapat untuk mencapai latensi jaringan yang rendah.
Instance bare metal
Tidak seperti instance VM, dalam instance bare metal, status tidur C6 dan C1E tidak dinonaktifkan. Hal ini dapat menyebabkan core yang tidak ada aktivitasnya memasuki status tidur dan dapat menyebabkan penurunan performa jaringan instance bare metal. Status tidur ini dapat dinonaktifkan di sistem operasi jika Anda memerlukan performa bandwidth jaringan penuh.
Anda dapat menggunakan skrip berikut untuk menonaktifkan status tidur di instance bare metal C3 tanpa perlu memulai ulang instance:
for cpu in {0..191}; do echo "1" | sudo tee /sys/devices/system/cpu/cpu$cpu/cpuidle/state3/disable echo "1" | sudo tee /sys/devices/system/cpu/cpu$cpu/cpuidle/state2/disable done
Atau, Anda dapat memperbarui file konfigurasi GRUB untuk mempertahankan perubahan di seluruh mulai ulang instance.
# add intel_idle.max_cstate=1 processor.max_cstate=1 to GRUB_CMDLINE_LINUX sudo vim /etc/default/grub sudo grub2-mkconfig -o /boot/grub2/grub.cfg sudo reboot
Setelah memulai ulang, pastikan status tidur C6 dan C1E dinonaktifkan:
ls /sys/devices/system/cpu/cpu0/cpuidle/ state0 state1 cat /sys/devices/system/cpu/cpu0/cpuidle/state*/name POLL C1
Input-output Memory Management Unit (IOMMU) adalah fitur CPU
yang menyediakan virtualisasi alamat untuk perangkat PCI. IOMMU dapat berdampak negatif
pada performa jaringan jika ada banyak I/O translation lookaside
buffer
(IOTLB) yang tidak tercapai.
- Anda lebih cenderung mengalami error saat halaman kecil digunakan.
- Untuk performa terbaik, sebaiknya gunakan halaman besar (ukuran 2 MB hingga 1 GB).
Performa penyimpanan
Detail hardware
Penyimpanan terpengaruh oleh batasan hardware berikut:
- Ukuran total semua persistent disk yang digabungkan dengan jumlah vCPU menentukan total performa penyimpanan. Jika terdapat berbagai jenis persistent disk yang terpasang ke VM, batas performa persistent disk SSD akan digunakan bersama oleh semua disk di VM. Untuk mengetahui informasi selengkapnya,lihat Performa block storage.
- Jika Persistent Disk dan Hyperdisk bersaing dengan traffic transfer data keluar, 60% dari bandwidth jaringan keluar maksimum digunakan untuk Persistent Disk dan Hyperdisk, dan 40% sisanya dapat digunakan untuk transfer data jaringan keluar. Untuk informasi selengkapnya, lihat Faktor lain yang memengaruhi performa.
- Performa ukuran I/O dan kedalaman antrean bergantung pada workload. Beberapa workload mungkin tidak cukup besar untuk menggunakan batas performa ukuran I/O penuh dan kedalaman antrean.
- Jenis mesin VM memengaruhi performa penyimpanannya. Untuk informasi selengkapnya, lihat Jenis mesin dan jumlah vCPU.
Untuk memahami performa penyimpanan VM, lihat metrik performa untuk Throughput, Operasi (IOPS), I/Ukuran O, Latensi I/O, dan Panjang Antrean.
Throughput disk dan IOPS menunjukkan apakah workload VM beroperasi seperti yang diharapkan. Jika throughput atau IOPS lebih rendah dari jumlah maksimum yang diharapkan yang tercantum dalam diagram jenis disk, mungkin ada masalah ukuran I/O, panjang antrean, atau performa latensi I/O.
Anda dapat memperkirakan ukuran I/O antara 4-16 KiB untuk workload yang memerlukan IOPS tinggi dan latensi rendah, dan 256 KiB-1 MiB untuk workload yang melibatkan ukuran tulis berurutan atau besar. Ukuran I/O di luar rentang ini menunjukkan masalah performa disk.
Panjang antrean, yang juga dikenal sebagai kedalaman antrean, merupakan faktor throughput dan IOPS. Jika disk berperforma baik, panjang antreannya seharusnya sama dengan panjang antrean yang direkomendasikan untuk mencapai level throughput atau IOPS tertentu, yang tercantum dalam diagram Kedalaman antrean I/O yang direkomendasikan.
Latensi I/O bergantung pada panjang antrean dan ukuran I/O. Jika panjang antrean atau ukuran I/O untuk disk tinggi, latensi juga akan tinggi.
Jika ada metrik performa penyimpanan yang menunjukkan masalah performa disk, lakukan satu atau beberapa tindakan berikut:
- Tinjau artikel Mengoptimalkan performa Persistent Disk atau Mengoptimalkan performa Hyperdisk dan terapkan praktik terbaik yang disarankan untuk meningkatkan performa.
- Pasang persistent disk baru ke VM atau Menambahkan penyimpanan Hyperdisk ke VM untuk meningkatkan batas performa disk. Performa disk didasarkan pada jumlah total penyimpanan yang terpasang ke instance. Opsi ini adalah yang paling tidak mengganggu karena tidak mengharuskan Anda melepas sistem file, memulai ulang, atau menonaktifkan instance.
- Ubah Hyperdisk untuk meningkatkan IOPS dan batas throughput per disk. Untuk Persistent Disk, Anda harus meningkatkan ukuran disk untuk meningkatkan IOPS dan batas throughput per disk. Disk tidak memiliki kapasitas yang dicadangkan dan tidak dapat digunakan, sehingga Anda dapat menggunakan seluruh disk tanpa penurunan performa.
- Ubah jenis disk ke jenis disk yang menawarkan performa lebih tinggi.