Proxy-Verzögerungen im Zeitverlauf: conntrack und Ressourcenlimits prüfen
Untersuchen Sie den Druck der Verbindungsverfolgung zusammen mit den Ressourcenlimits von Proxy und Host, wenn sich Fehler mit der Zeit anhäufen.
Der Proxy antwortet nach einem Neustart. Einige Stunden später bleiben neue Verbindungen hängen. Ein weiterer Neustart verschafft eine weitere ruhige Phase. Dieses Muster deutet auf einen wachsenden Zustand hin, benennt aber nicht, welcher Zustand dafür verantwortlich ist.
Auf einem Linux-Pfad mit Verbindungsverfolgung ist die conntrack-Tabelle ein Kandidat. Prüfen Sie diese vorhandenen Werte auf dem Rechner und in dem Netzwerk-Namespace, der den Verkehr abwickelt:
/proc/sys/net/netfilter/nf_conntrack_count
/proc/sys/net/netfilter/nf_conntrack_maxDer erste Wert meldet zugewiesene Fluss-Einträge; der zweite begrenzt sie. Es handelt sich nicht um Zählungen von Squid-Benutzern oder HTTP-Anfragen. Der Flusszustand des Kernels kann die aktive Arbeit der Anwendung überdauern.
Suchen Sie einen Zusammenhang, nicht nur eine große Zahl
Vergleichen Sie die Belegung über die Zeit mit dem Beginn von Fehlern bei neuen Verbindungen und mit relevanten Kernel-Meldungen. Ein hoher Zählerstand ohne passende Fehlerbelege ist etwas anderes als eine Tabelle, die wiederholt ihr Limit erreicht, während Anfragen in Zeitüberschreitungen laufen.
Die Tabelle kann mehr als den Proxy bedienen. Andere lokale Dienste, weitergeleiteter Verkehr oder ein anderer stark belasteter Netzwerkpfad können dazu beitragen. Ein Neustart des Proxys, der das Symptom verändert, beweist nicht, dass der Objekt-Cache von Squid die Ursache war.
Behalten Sie die konkurrierenden Erklärungen im Blick: Dateideskriptoren, Warteschlangen der Authentifizierungshelfer, DNS-Verzögerungen, Speicherdruck und ein volles Dateisystem können sich ebenfalls mit der Zeit verschlechtern. Notieren Sie, welche Ressource wächst und welche Vorgänge zuerst aufhören zu funktionieren. Dass langlebige Verbindungen überleben, während neue scheitern, ist ein nützlicher Beleg, aber keine Diagnose für sich.
Ein Limit zu erhöhen kostet Speicher. Klären Sie vor der Änderung die Arbeitslast, den Namespace und die verfügbare Kapazität. Zeitüberschreitungen pauschal zu verkürzen kann nützliche Leerlaufsitzungen zerstören; das Löschen des gesamten Verbindungszustands kann unbeteiligten Verkehr stören.
Das nützliche Ergebnis ist eine Erklärung für den Aufbau und eine dazu passende Änderung an Kapazität oder Lebenszyklus. Unbedenklich erhöhbar ist keine Eigenschaft, die jeder Proxy-Server teilt.