maxconn Limit pro Backend in Haproxy

9

Unser Haproxy Loadbalancer öffnet Tausende von Verbindungen zu seinen Backends obwohl die Einstellungen sagen, dass nicht mehr als 10 Verbindungen pro Server-Instanz geöffnet werden sollen (siehe unten). Wenn ich "Option http-server-close" austrenne, fällt die Anzahl der Backend-Verbindungen ab, aber ich möchte Keep-Alive-Backend-Verbindungen haben.

Warum wird maxconn nicht mit http-keep-alive berücksichtigt? Ich habe mit ss verifiziert, dass die geöffneten Backend-Verbindungen in ESTABLISHED state sind.

%Vor%     
Roman 22.05.2017, 10:44
quelle

1 Antwort

1

Im Keep-Alive-Modus werden Verbindungen im Leerlauf nicht berücksichtigt. Wie in diesem HAProxy Mail-Thread

erläutert
  

Die Sache ist, du willst nicht   um Anfragen in der Warteschlange eines Servers zu belassen, während der Server eine Tonne hat   von Leerlaufverbindungen.

Dies macht sogar mehr Sinn, wenn man weiß, dass Browser Preconnect initiieren, um die Seitenleistung zu verbessern. Im Keep-Alive-Modus werden also nur ausstehende / aktive Verbindungen berücksichtigt.

Sie können immer noch Maxconn-Limits erzwingen, unabhängig vom Verbindungsstatus mit tcp-Modus , insbesondere sehe ich keinen besonderen Grund, den Modus http in Ihrer aktuellen Konfiguration zu verwenden (abgesehen von Reacher-Logs) .
Oder Sie können Ссылка mit dem http-Modus verwenden, um die niedrigste Anzahl zu erreichen gleichzeitige Verbindungen.

    
MoEmEn 18.08.2017, 11:26
quelle