Kann ich den Localhost-/Server-Status abrufen, auch wenn MaxClients voll ist?

Kann ich den Localhost-/Server-Status abrufen, auch wenn MaxClients voll ist?

Ich baue ein Überwachungssystem, das erkennt, wie viele (untätige) Anfragen gerade verarbeitet werden. Die Methode, die ich verwende, um dies festzustellen, ist die Verbindung zu http://lokaler Host/Server Status .

Die Frage ist: Wenn Apache keine neuen Verbindungen mehr bedienen kann (z. B. MaxClientswenn es die Spitze erreicht hat), wie kann ich dann Apache-Statistiken erkennen? Ist es möglich, dass Apache intelligent genug ist, die Konfiguration für Verbindungen vom lokalen Host zu ignorieren MaxClients?

Jede Hilfe wird geschätzt.

Antwort1

Ich glaube, die Antwort ist nein, und zwar aus zwei Gründen (und einem dritten, unklaren):

  1. Angenommen, Anfragen an /server-status/wären immun gegen MaxClients(aber erhöhen die Client-Anzahl). Dann wäre es zu einfach, Apache mit Anfragen zu DoS-Angriffen zu veranlassen, sodass legitime Anfragen nicht bearbeitet werden können (und da sie weit über hinausgehen können MaxClients, besteht keine Chance, dass echte Anfragen jemals beantwortet werden).

  2. Apache wird seine Client-Anzahl wahrscheinlich basierend auf [einer Funktion] der Anzahl offener Verbindungen haben (eine Verbindung :80kann nur eine Anfrage gleichzeitig senden, KeepAliveerlaubt uns aber, sie wiederzuverwenden, also ist eine offene TCP-Verbindung im Grunde ein Client). Dies wird überprüft, bevor die Header überhaupt gelesen werden (wenn Platz vorhanden ist, wird die Anfrage zur Bearbeitung delegiert. Wenn nicht, schlägt es schnell fehl).

  3. Immer wenn ich mit Verbindungen überlastet bin, service httpd fullstatusfunktioniert es sehr langsam oder gar nicht :-)

Antwort2

Möglicherweise müssen Sie ein Apache-Modul schreiben (oder mod_status ändern), damit eine andere Schnittstelle für die Kommunikation mit dem Apache-Server verwendet wird. Möglicherweise möchten Sie POSIX-Signale und gemeinsam genutzten Speicher oder eine Datei verwenden, um die Statistiken anzufordern und abzurufen.

verwandte Informationen