identische lastausgeglichene VMs auf demselben Host

identische lastausgeglichene VMs auf demselben Host

Hallo Cowboys und Cowgirls,

Wenn ich eine VM (entweder KVM oder ESXi) habe, die statische Inhalte auf Apache und eine Video-Streaming-Webanwendung auf Tomcat bereitstellt, ist es dann logisch, mehrere Instanzen auf derselben VM auf demselben Gerät auszuführen und deren Last auszugleichen? Für mich scheint es konzeptionell sinnlos, da bei denselben eingehenden Webanforderungen lediglich die Ressourcen gemeinsam genutzt werden, die sonst einer einzelnen Instanz zugewiesen worden wären. Ich kann mir jedoch Szenarien vorstellen, in denen eine höhere Kapazität durch die Verwendung von 2, 3 oder mehr identischen VMs genutzt werden kann, möglicherweise in Bezug auf die Threading-Leistung innerhalb von Tomcat oder Ähnlichem. Jeder Grund, der mir einfällt, deutet jedoch eher auf schlechte Codierung und Workarounds hin, nicht auf Best-Practice-Design. Beispielhardware ist hier eine ziemlich leistungsfähige Box wie ein HP DL380 mit 8 oder 12 Kernen und 64 GB RAM, die auf die eine oder andere Weise etwa 4000 gleichzeitige Medienverbindungen bedient.

Update: Im Hinblick auf andere Vorteile wie Redundanz und Patching gibt es keine Probleme, da dieses Szenario wahrscheinlich auf bis zu 100 physischen Maschinen repliziert wird, alle mit Lastenausgleich.

Update2: Ich habe auch Bedenken hinsichtlich der Fähigkeit, mehrere identische Dienste von einem externen LB aus auszugleichen. Wenn Sie die Verbindungslatenz und dergleichen vom LB aus überwachen, sollte es der Fall sein, dass 2 VMs - 1 mit 5 Verbindungen, eine mit 500sollenscheinen tatsächlich identisch zu funktionieren, da sie beide Ressourcen aus demselben Pool ziehen (ohne VM-CPU-Pinning usw.). Das Belasten einer Box würde auch die andere, ruhige Box lahmlegen, was die Verteilung der Verbindungen wirklich abnormal und verwirrend machen würde.

Danke

Chris

Antwort1

Der einzige Grund, dies zu tun, wäre, wenn (a) Sie betriebliche Vorteile durch Patchen und Ähnliches erzielen oder (b) Sie feststellen, dass Ihr Hypervisor nicht in der Lage ist, vCPUs linear auf reale CPUs abzubilden (d. h. 2 x 4 vCPU-Gäste erzielen einen besseren Durchsatz als 1 x 8 vCPU-Gast). Dies können Sie jedoch nur durch Stress oder echte Produktionslast beweisen.

Antwort2

Da eine virtuelle Maschine nur über eine begrenzte Anzahl an Ressourcen verfügen kann (4–8 vCPUs, je nach Plattform), müssen Sie mehrere Gäste ausführen, wenn Sie möchten, dass die Webserver auf alle Ressourcen der Host-Hardware zugreifen können.

Auch wenn Sie mehrere Gäste haben, können Sie diese zum Patchen offline nehmen, ohne dass es zu einer Dienstunterbrechung für die Endbenutzer kommt.

verwandte Informationen