Praktik terbaik untuk penyebaran komputer virtual pada OpenShift Virtualization

Dokumen ini menyediakan panduan untuk mengoptimalkan performa dan efisiensi biaya saat menyebarkan komputer virtual (VM) menggunakan OpenShift Virtualization di Azure Red Hat OpenShift. Panduan ini juga membahas masalah apa pun sekeliling performa aplikasi dan memberikan langkah-langkah yang dapat ditindaklanjuti untuk keberhasilan penyebaran.

Pendekatan untuk pengoptimalan

Nota

Beban kerja tergantung GPU saat ini tidak didukung di OpenShift Virtualization di Azure. Rencanakan penyebaran Anda dengan tepat.

Mengoptimalkan penyebaran VM dimulai dengan memahami beban kerja aplikasi Anda dan menyelaraskan pilihan infrastruktur yang sesuai. Penyebaran OpenShift Virtualization pada mesin Azure Boost, yang merupakan simpul pekerja dalam kluster, memperkenalkan beban arsitektur dibandingkan dengan penerapan VM atau pod asli. Perencanaan untuk kapasitas dan performa harus memperhitungkan overhead ini.

Identifikasi beban kerja

Sebelum memprovisikan VM, kategorikan beban kerja Anda untuk menentukan persyaratan performa dan sumber daya mereka. Jenis beban kerja umum meliputi:

  • Tujuan umum: Server web, server aplikasi, sistem manajemen konten.
  • Database: Database Relasional dan NoSQL yang memerlukan operasi input/output yang konsisten per detik (IOPS) dan memori.
  • Analitik real-time: Pemrosesan data berlatensi rendah, dasbor operasional.
  • AI/ML: Beban kerja intensif komputasi yang membutuhkan CPU/GPU dan memori yang tinggi.
  • Streaming data & pesan: Arsitektur berbasis peristiwa dengan throughput tinggi dan latensi rendah.
  • Pemrosesan batch: Pekerjaan berkala atau sesuai permintaan yang memproses volume data besar.
  • Komputasi performa tinggi (HPC): Simulasi ilmiah, pemodelan keuangan.
  • Edge dan IoT: Menggabungkan dan memproses data dari sensor terdistribusi.
  • Pemrosesan media: Pengodean/dekode video, transformasi gambar, streaming.
  • Lingkungan Dev/Test: Lingkungan sementara untuk pengembangan dan pengujian.

Setiap jenis beban kerja memiliki karakteristik unik yang memengaruhi ukuran VM, konfigurasi penyimpanan, dan strategi penyetelan performa.

Menyesuaikan ukuran beban kerja aplikasi Anda

Pertimbangan utama untuk ukuran yang tepat

  • Persyaratan inti minimum: OpenShift Virtualization memerlukan minimal delapan (8) inti Azure VM untuk simpul pekerja OpenShift.
  • Overhead arsitektur: Performa mungkin bervariasi tergantung pada keputusan arsitektur yang diambil saat mengonfigurasi lingkungan, termasuk jenis instans, penyimpanan, dan karakteristik jaringan.
  • Peluasan skala: Untuk beban kerja yang menuntut, menskalakan kluster Azure Red Hat OpenShift Anda dengan menambahkan lebih banyak simpul dapat membantu mengatasi pertikaian sumber daya dan mempertahankan throughput.
  • Tolok ukur beban kerja Anda: Hindari hanya mengandalkan referensi ukuran lokal; tolok ukur beban kerja Anda sendiri untuk menginformasikan ukuran yang tepat.
  • Faktor biaya: Pertimbangkan biaya komputasi Azure, lisensi OpenShift, lisensi VM, dan persyaratan skalabilitas.

Ukuran yang tepat memastikan bahwa VM Anda disediakan dengan sumber daya yang memadai untuk memenuhi tujuan performa tanpa provisi berlebihan. Proses ini sangat penting di lingkungan cloud, di mana efisiensi sumber daya berdampak langsung pada biaya dan performa.

Langkah-langkah untuk mengukur beban kerja dengan tepat

  1. Menentukan metrik kesehatan

    • Pemanfaatan CPU: Target 60–70% penggunaan rata-rata.
    • Tekanan Memori: Memantau penggunaan pertukaran, saturasi memori, dan kesalahan halaman.
    • IO Strain: Mengukur latensi disk, throughput, dan kedalaman antrean.
  2. Menyiapkan pemantauan

    • Gunakan Prometheus dan Grafana untuk pengumpulan dan visualisasi metrik real time.
    • Aktifkan metrik KubeVirt untuk wawasan tingkat VM.
    • Menghubungkan metrik tingkat infrastruktur dengan performa aplikasi dengan mengintegrasikan dengan Azure Monitor, melalui Azure Arc.
  3. Menganalisis data historis

    • Tinjau tren performa dari waktu ke waktu.
    • Identifikasi periode penggunaan puncak dan peristiwa saturasi sumber daya.
    • Gunakan garis besar historis untuk memandu keputusan autoscaling di masa mendatang.
  4. Menyesuaikan spesifikasi VM

  5. Menguji dan memvalidasi

    • Lakukan pengujian beban menggunakan alat seperti Apache JMeter, Locust, atau stress-ng.
    • Validasi terhadap metrik kesehatan dan target performa yang ditentukan.
    • Ulangi perubahan konfigurasi dan coba lagi untuk mengonfirmasi peningkatan.

Karakteristik performa yang diamati

Di bawah ini Anda dapat menemukan metrik performa yang diamati untuk beban kerja OpenShift Virtualization di Azure Red Hat OpenShift untuk konfigurasi dan beban kerja tertentu. Performa aktual yang diamati dapat bervariasi tergantung pada beban kerja yang dipilih dan konfigurasi kluster tertentu, tetapi tabel di bawah ini akan memberi Anda gambaran tentang apa yang dapat diharapkan. Karena sifat menjalankan Virtual Machines di Azure Red Hat OpenShift, Anda akan menemukan bahwa itu tidak akan berkinerja seperti menjalankan beban kerja dalam pod. Performa akan ditingkatkan dalam waktu dekat dengan jenis instans yang lebih baik akan tersedia dan teknologi baru seperti Virtualisasi Langsung.

Compute

  • Jenis node pekerja: Standard_D96ds_v5 (dengan Azure Boost)
  • Versi OpenShift: 4.20
  • Operator virtualisasi: 4.20
Virtualisasi VM OCP Pod Dengan Virtualisasi Langsung
Events 525,022 546,997 Segera datang
Latensi (ms) 0.70 0.65 Segera datang

Storage

  • Disk: Disk SSD Premium v2 SCSI/SATA
  • Jenis node pekerja: Standard_D96ds_v5 (dengan Azure Boost)
  • Versi OpenShift: 4.20
  • Operator virtualisasi: 4.20
  • Operator penyimpanan ODF: 4.19
  • Kluster AZ tunggal
Threads OCP Virtualization VM (TPM) Pod (TPM) Dengan Virtualisasi Langsung
1 4,332 6,303 Segera datang
2 9,266 12,371 Segera datang
4 17,006 23,422 Segera datang
8 31.148 43,314 Segera datang
16 44,904 68,872 Segera datang
32 64,294 103,359 Segera datang

Jaringan

  • Jenis node pekerja: Standard_D96ds_v5 (dengan Azure Boost)
  • NIC: 35 GB
  • Kluster AZ Tunggal
Ukuran pesan - utas Latensi VM Virtualisasi OCP (μs) Throughput VM pada Virtualisasi OCP (Gbps) Latensi Pod (μs) Throughput Pod (Gbps) Dengan Virtualisasi Langsung
64B - 1 thr 94.58 0,4 45.84 0,9 Segera datang
64B - 8 thr 87.93 3.4 49.90 7.5 Segera datang
1024B - 1 thr 90.6 6.1 48.32 7.0 Segera datang
1024B - 8 thr 93.57 24.7 48.59 28.9 Segera datang
8192B - 1thr 151.4 7.6 104.43 10.9 Segera datang
8192B - 8 thr 157.27 20.7 90.96 27.0 Segera datang

Menyempurnakan lingkungan Anda

Menyempurnakan lingkungan Virtualisasi OpenShift Anda sangat penting untuk mencapai performa optimal, terutama untuk beban kerja yang menuntut. Praktik terbaik berikut berasal dari tolok ukur yang luas dan pengalaman dunia nyata pada seri Azure Boost VM (Dsv5/Dsv6).

Strategi pengoptimalan performa

  • Peluasan atau peningkatan skala untuk beban kerja yang menuntut: Tambahkan lebih banyak simpul atau tingkatkan ukuran simpul di kluster Azure Red Hat OpenShift Anda untuk aplikasi konkurensi tinggi atau intensif sumber daya.
  • Hindari batas sumber daya yang ketat: Atur hanya memori tamu untuk VM; hindari batas sumber daya yang ketat kecuali diperlukan untuk tata kelola.
  • Menyetel konfigurasi penyimpanan dan jaringan: Pilih solusi penyimpanan dan tingkat performa yang sesuai dengan kebutuhan beban kerja Anda. Untuk beban kerja yang intensif jaringan, optimalkan pengaturan seperti NAPI dan antrean ganda, serta pantau throughput dan latensinya.
  • Pantau dan tolok ukur secara teratur: Gunakan Prometheus, Grafana, dan Azure Monitor untuk melacak metrik utama. Tolok ukur beban kerja Anda sendiri untuk memvalidasi performa dan memandu penyetelan lebih lanjut.
  • Pastikan adanya overhead arsitektur: Lakukan perencanaan kapasitas dan tetapkan harapan yang sesuai, terutama untuk beban kerja dengan kebutuhan I/O atau jaringan yang tinggi.

Penyesuaian overcommit VM

Operator OpenShift Virtualization memungkinkan Anda menyesuaikan rasio overcommit CPU dan memori, memungkinkan Anda mengalokasikan lebih banyak sumber daya virtual daripada yang tersedia secara fisik. Perubahan ini dapat meningkatkan kepadatan dan pemanfaatan sumber daya tetapi mungkin meningkatkan persaingan dan memengaruhi performa.

Praktik terbaik untuk penyetelan overcommit:

  • Gunakan overcommit konservatif untuk beban kerja produksi.
  • Pertimbangkan penggunaan overcommit yang lebih tinggi untuk lingkungan dev/test.
  • Pantau penggunaan sumber daya dan sesuaikan rasio sesuai kebutuhan.

Untuk informasi selengkapnya, lihat Mengonfigurasi kepadatan beban kerja VM yang lebih tinggi

Praktik terbaik berdasarkan tolok ukur

  • Beban kerja database: Hindari mengatur permintaan sumber daya dan batasan untuk VM. Pantau performa dengan cermat saat menggunakan penyimpanan cepat dan konkurensi tinggi. Memperluas node dalam kluster untuk penyebaran database besar.
  • Beban kerja jaringan: Menyetel pengaturan jaringan untuk throughput optimal. Memperluas skala sesuai kebutuhan untuk mencapai throughput jaringan yang diinginkan.

Penyetelan solusi penyimpanan

  • OpenShift Data Foundation (ODF): Gunakan penyimpanan yang didukung SSD untuk akses latensi rendah. Konfigurasikan kebijakan replikasi dan penghapusan pengkodian berdasarkan kebutuhan beban kerja. Untuk mencegah persaingan sumber daya komputasi aplikasi Anda, pertimbangkan untuk membuat pool pekerja terpisah untuk ODF dengan ukuran VM Azure yang lebih kecil. Memulai dengan Ds16v5 adalah pilihan yang baik, dan gunakan taints/tolerations untuk memastikan ODF menjadi satu-satunya beban kerja yang dijadwalkan di sana. Pantau performa penyimpanan dan sesuaikan faktor replikasi sesuai kebutuhan.
  • Azure NetApp Files (ANF): Pilih tingkat performa berdasarkan persyaratan IOPS dan throughput. Pastikan opsi pemasangan dan konfigurasi jaringan yang tepat untuk performa optimal. Gunakan rekam jepret volume dan cadangan untuk mendukung strategi perlindungan dan pemulihan data.

OpenShift Virtualization untuk Azure Red Hat OpenShift.