Virtualisasi

Apa itu vCPU?

Juga dikenal sebagai: virtual CPU
Definisi

A vCPU is a virtual processor presented to a guest, backed by scheduling time on a physical core or thread. The decisive question is whether the backing thread is shared with other tenants or reserved. A dedicated vCPU has no other tenant scheduled against it; a shared one competes, producing steal time.

Mengapa vCPU penting

Pertanyaan yang menentukan adalah apakah utas pendukung dibagikan dengan penyewa lain atau dicadangkan. vCPU khusus tidak memiliki penyewa lain yang dijadwalkan terhadapnya; vCPU bersama bersaing, menghasilkan waktu curian.

vCPU dalam praktik

Saat Anda menjalankan server, vCPU adalah apa yang sebenarnya dikonsumsi oleh beban kerja Anda. Anda melihat steal time terlebih dahulu: jika secara konsisten di atas beberapa persen, vCPU Anda dibagikan dan penyewa lain memakan siklus Anda. Anda mungkin menambah jumlah vCPU untuk memperbaiki latensi, tetapi perhatikan apakah masalahnya adalah persaingan, bukan inti. Salah menanganinya berarti membayar waktu penjadwalan yang bukan milik Anda, dan aplikasi Anda mengalami gangguan yang tidak bisa Anda jelaskan.

Kesalahan umum tentang vCPU

Kesalahan umum adalah memperlakukan vCPU seolah-olah itu adalah inti fisik dengan kecepatan terjamin. Di lingkungan KVM, setiap vCPU didukung oleh utas host, dan pada host bersama, utas itu bersaing. Orang menganggap lebih banyak vCPU selalu membantu, tetapi jika utas pendukung bersaing, Anda mendapat steal time. Koreksinya: periksa steal time sebelum menskalakan jumlah vCPU.

vCPU — pertanyaan umum

Berapa banyak vCPU yang saya butuhkan?

Itu tergantung pada beban kerja Anda. Untuk server web yang sibuk, mulai dengan dua dan perhatikan waktu steal CPU. Jika steal tetap rendah dan Anda masih terkendala, tambahkan vCPU. Pada paket KVM kami, Anda dapat menambah CPU dan RAM dengan reboot singkat, jadi Anda dapat menyesuaikan tanpa membangun ulang.

Bisakah saya mengubah jumlah vCPU nanti?

Ya, pada server yang sudah ada, Anda dapat meningkatkan CPU dengan reboot singkat, dan disk bertambah tanpa downtime. Pindah ke tingkat yang lebih rendah memerlukan rebuild daripada migrasi langsung, jadi lebih baik mulai dari kecil lalu tingkatkan.

Lainnya dari virtualisasi

KVM
KVM adalah virtualisasi perangkat keras penuh yang dibangun ke dalam kernel Linux, memberi setiap tamu kernelnya sendiri dan isolasi yang ditegakkan perangkat keras dari penyewa lain.
OpenVZ
OpenVZ adalah virtualisasi berbasis kontainer di mana setiap instance berbagi kernel host, sehingga tamu tidak dapat memuat modul kernel atau menjalankan sistem operasi yang berbeda.
LXC
LXC adalah kontainerisasi asli Linux yang mengisolasi proses dengan namespaces dan cgroups sambil berbagi kernel host.
Hypervisor
Hypervisor adalah lapisan perangkat lunak yang membuat dan menjalankan mesin virtual, mengalokasikan CPU fisik, memori, dan IO di antara mereka.
Virtualisasi bersarang
Virtualisasi bersarang memungkinkan mesin virtual itu sendiri menjalankan mesin virtual, dengan mengekspos ekstensi virtualisasi prosesor ke tamu.
cloud-init
cloud-init adalah mekanisme standar untuk mengonfigurasi mesin virtual pada boot pertama, menggunakan metadata yang disediakan oleh platform.