Menganalisis performa CPU menggunakan PMU

Halaman ini menunjukkan cara menganalisis performa CPU node cluster Google Kubernetes Engine (GKE) menggunakan peristiwa Unit Pemantauan Performa (PMU).

Halaman ini ditujukan untuk admin cluster yang memiliki workload sensitif performa dan ingin memeriksa eksekusi CPU workload mereka di node GKE selama pengembangan, proses debug, benchmarking, dan pemantauan berkelanjutan.

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah gcloud components update. Versi gcloud CLI yang lebih lama mungkin tidak mendukung menjalankan perintah dalam dokumen ini.

Persyaratan dan batasan

Saat mengaktifkan peristiwa PMU, perhatikan persyaratan dan batasan berikut:

  • Cluster Anda harus dalam mode Standar.
  • Jika cluster Anda mengaktifkan penyediaan otomatis node, node pool yang dibuat melalui penyediaan otomatis tidak dapat mengaktifkan peristiwa PMU. Jika Anda mengaktifkan penyediaan otomatis node setelah mengaktifkan peristiwa PMU, node pool yang ada tidak akan terpengaruh.
  • Node pool cluster harus menjalankan seri mesin yang mendukung PMU. Untuk mengetahui informasi selengkapnya tentang jenis mesin yang didukung, lihat Seri mesin dan platform CPU yang didukung.

Membuat cluster GKE

Buat cluster dengan peristiwa PMU yang diaktifkan untuk node pool default:

gcloud container clusters create CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --performance-monitoring-unit=PMU_LEVEL \
    --machine-type=MACHINE_TYPE

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster baru.
  • COMPUTE_LOCATION: lokasi Compute Engine untuk cluster baru.
  • PMU_LEVEL: jenis peristiwa PMU yang akan dikumpulkan. Untuk mengetahui informasi selengkapnya, lihat Cara kerja PMU dalam dokumentasi Compute Engine. Nilai yang didukung adalah sebagai berikut:
    • architectural: mengaktifkan peristiwa PMU arsitektur yang terkait dengan peristiwa cache non-level terakhir (LLC).
    • standard: mencakup peristiwa arsitektur dan mengaktifkan peristiwa PMU inti, termasuk peristiwa cache L2.
    • enhanced: mencakup peristiwa standar dan mengaktifkan peristiwa lokal di luar peristiwa PMU inti CPU dan LLC. Opsi ini hanya tersedia dengan VM yang memiliki jumlah vCPU tertentu. Untuk mengetahui informasi selengkapnya, lihat Batasan dalam dokumentasi Compute Engine.
  • MACHINE_TYPE: jenis mesin Compute Engine untuk node Anda. Untuk mengetahui daftar jenis mesin yang didukung, lihat Seri mesin dan platform CPU yang didukung dalam dokumentasi Compute Engine.

Anda juga dapat membuat node pool baru untuk cluster yang ada menggunakan gcloud container node-pools create perintah.

Hubungkan ke cluster

Konfigurasi kubectl untuk berkomunikasi dengan cluster:

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=COMPUTE_LOCATION

Verifikasi PMU diaktifkan

Verifikasi node cluster Anda telah mengaktifkan PMU dengan memeriksa pesan kernel.

  1. Dapatkan daftar node di cluster:

    kubectl get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                                  STATUS   ROLES    AGE     VERSION
    gke-c1-default-pool-44be3e13-prr1     Ready    <none>   5d23h   v1.27.13-gke.1070000
    gke-c1-default-pool-7abc4a17-9dlg     Ready    <none>   2d21h   v1.27.13-gke.1070000
    gke-c1-default-pool-ed969ef6-4gzp     Ready    <none>   5d      v1.27.13-gke.1070000
    

    Catat nama salah satu node.

  2. Dapatkan lokasi Compute Engine node:

    gcloud compute instances list --filter=NODE_NAME
    

    Ganti NODE_NAME dengan nama node dari langkah sebelumnya.

    Outputnya mirip dengan hal berikut ini:

    NAME                               ZONE           MACHINE_TYPE  PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    gke-c1-default-pool-44be3e13-prr1  us-central1-c  c4-standard-4     true         10.128.0.67  34.170.44.164  RUNNING
    

    Catat nama ZONE Compute Engine. Dalam contoh ini, nama zona adalah us-central1-c.

  3. Gunakan SSH untuk terhubung ke node cluster:

    gcloud compute ssh NODE_NAME \
        --zone=COMPUTE_ZONE
    

    Ganti COMPUTE_ZONE dengan nama zona Compute Engine dari langkah sebelumnya.

  4. Periksa pesan kernel:

    sudo dmesg |grep -A10 -i "Performance"
    

    Outputnya mirip dengan hal berikut ini:

    [    0.307634] Performance Events: generic architected perfmon, full-
    width counters, Intel PMU driver.
    # Several lines omitted
    

    Output ini menunjukkan bahwa driver PMU diinisialisasi.

Langkah berikutnya