Virtualisierung

Was ist vCPU?

Auch bekannt als: virtual CPU
Definition

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.

Warum vCPU wichtig ist

Die entscheidende Frage ist, ob der zugrunde liegende Thread mit anderen Mandanten geteilt oder reserviert wird. Eine dedizierte vCPU hat keinen anderen Mandanten, der gegen sie geplant wird; eine geteilte konkurriert, was Steal-Zeit erzeugt.

vCPU in der Praxis

Wenn Sie einen Server betreiben, ist vCPU das, was Ihre Arbeitslast tatsächlich verbraucht. Sie schauen zuerst auf die Steal-Zeit: Wenn sie konstant über ein paar Prozent liegt, sind Ihre vCPUs gemeinsam genutzt und andere Mandanten fressen Ihre Zyklen. Sie könnten die vCPU-Anzahl erhöhen, um Latenz zu beheben, aber beobachten Sie, ob das Problem Kontention ist, nicht Kerne. Es falsch zu machen bedeutet, für Planungszeit zu bezahlen, die nicht Ihnen gehört, und Ihre Anwendung leidet unter Aussetzern, die Sie nicht erklären können.

Was Leute bei vCPU falsch machen

Ein häufiger Fehler ist, vCPUs wie physische Kerne mit garantierter Geschwindigkeit zu behandeln. In einer KVM-Umgebung wird jede vCPU durch einen Host-Thread unterstützt, und auf einem gemeinsam genutzten Host konkurriert dieser Thread. Die Leute nehmen an, dass mehr vCPUs immer helfen, aber wenn der unterstützende Thread umkämpft ist, erhalten Sie Steal-Zeit. Die Korrektur: Überprüfen Sie die Steal-Zeit, bevor Sie die vCPU-Anzahl skalieren.

vCPU – häufige Fragen

Wie viele vCPUs brauche ich?

Das hängt von Ihrer Arbeitslast ab. Für einen ausgelasteten Webserver beginnen Sie mit zwei und beobachten Sie die CPU-Steal-Zeit. Wenn die Steal-Zeit niedrig bleibt und Sie immer noch begrenzt sind, fügen Sie vCPUs hinzu. Bei unseren KVM-Plänen können Sie CPU und RAM mit einem kurzen Neustart erhöhen, also können Sie ohne Neuaufbau anpassen.

Kann ich die vCPU-Anzahl später ändern?

Ja, auf Ihrem bestehenden Server können Sie die CPU mit einem kurzen Neustart erhöhen, und die Festplatte wächst online. Eine Verkleinerung erfordert einen Neuaufbau statt einer Live-Migration, daher ist es besser, klein anzufangen und dann zu skalieren.

Mehr aus virtualisierung

KVM
KVM ist vollständige Hardware-Virtualisierung, die in den Linux-Kernel integriert ist und jedem Gast einen eigenen Kernel und hardwaregestützte Isolierung von anderen Mandanten bietet.
OpenVZ
OpenVZ ist containerbasierte Virtualisierung, bei der jede Instanz den Host-Kernel teilt, sodass Gäste keine Kernel-Module laden oder ein anderes Betriebssystem ausführen können.
LXC
LXC ist Linux-native Containerisierung, die Prozesse mit Namespaces und Cgroups isoliert, während der Host-Kernel geteilt wird.
Hypervisor
Ein Hypervisor ist die Softwareschicht, die virtuelle Maschinen erstellt und ausführt und physische CPU, Speicher und E/A zwischen ihnen zuteilt.
Verschachtelte Virtualisierung
Verschachtelte Virtualisierung ermöglicht es einer virtuellen Maschine, selbst virtuelle Maschinen auszuführen, indem die Prozessor-Virtualisierungserweiterungen dem Gast exponiert werden.
cloud-init
cloud-init ist der Standardmechanismus zur Konfiguration einer virtuellen Maschine beim ersten Start unter Verwendung von Metadaten, die von der Plattform bereitgestellt werden.