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 yang sensitif terhadap performa dan ingin memeriksa eksekusi CPU workload mereka di node GKE selama pengembangan, proses debug, tolok ukur, dan pemantauan berkelanjutan.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan 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 gcloud components update.

Persyaratan dan batasan

Saat mengaktifkan peristiwa PMU, perhatikan persyaratan dan batasan berikut:

  • Cluster Anda harus dalam mode Standard.
  • 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 jenis mesin C4 atau C4A.

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 memungkinkan peristiwa PMU inti, termasuk peristiwa cache L2.
    • enhanced: mencakup peristiwa standar dan memungkinkan peristiwa lokal di luar peristiwa PMU CPU core 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 batasan dalam dokumentasi Compute Engine.

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

Hubungkan ke cluster

Konfigurasi kubectl untuk berkomunikasi dengan cluster:

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

Pastikan PMU diaktifkan

Pastikan node cluster Anda 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 dari 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, nilainya 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 telah diinisialisasi.

Langkah berikutnya