AWS ELB funktioniert nicht wie gewünscht

AWS ELB funktioniert nicht wie gewünscht

Ich versuche, die Last meiner App mithilfe eines AWS Elastic Load Balancer auszugleichen. Die App ist ein benutzerdefinierter TCP-basierter Sender/Empfänger.

In jedem Fall scheint ELB 100 % des Datenverkehrs an eine Maschine zu senden und die andere, fehlerfrei angeschlossene Instanz zu vernachlässigen.

Ich sehe keine Möglichkeiten, das Round/Robin-Verhalten zu ändern ...

Vorschläge? Danke!

Antwort1

Wenn der einzige Datenverkehr aus Ihren Tests stammt, stoßen Sie möglicherweise immer auf denselben Server, selbst wenn die Server-Stickiness/-Affinität deaktiviert ist.

Wenn sich die Server in unterschiedlichen Verfügbarkeitszonen befinden, werden mehrere ELBs eingerichtet (einer in jeder AZ) und sie werden alle in der DNS-Anfrage für den ELB zurückgegeben. Das Betriebssystem wird einen davon auswählen und wahrscheinlich immer denselben verwenden.

Versuchen Sie es von einer anderen geografischen Region aus oder platzieren Sie beide in derselben AZ und prüfen Sie, ob Sie dieselben Ergebnisse erhalten. Wenn das funktioniert, sind Sie wahrscheinlich mit Ihrer Einrichtung zufrieden, da der tatsächliche Datenverkehr auf beide Verfügbarkeitszonen verteilt wird.

Antwort2

Bei AWS ELB erfolgt der Lastausgleich nicht im Round-Robin-Verfahren. Wir haben festgestellt, dass der Datenverkehr von einer einzelnen IP-Adresse normalerweise immer denselben Server erreicht. Daher besteht unser Ansatz zum Testen eines geeigneten Lastausgleichs darin, ein verteiltes JMeter-Setup auf mehreren EC2-Instanzen zu verwenden, um die Last von verschiedenen IP-Adressen zu simulieren.

verwandte Informationen