Wie kann man einen “Failwal” implementieren, um die Serverbelastung gnädig zu begrenzen? (Lösungen für die Steuerung der Systemkapazität)

Mit unserer Website möchten wir es so einrichten, dass, wenn die Seite im Begriff ist herunterzufallen, stattdessen eine benutzerdefinierte 503 angezeigt wird (basierend auf einem von uns festgelegten Server-Belastungslimit). Gibt es etwas, das damit umgehen kann, das bereits eingebaut ist, oder ein Plugin, das helfen könnte?

Ich weiß, dass manuelle Wartungsmodus-Plugins verfügbar sind, aber wenn die Website auf starken Traffic trifft, werden sie entfernt.

Solutions Collecting From Web of "Wie kann man einen “Failwal” implementieren, um die Serverbelastung gnädig zu begrenzen? (Lösungen für die Steuerung der Systemkapazität)"

Twitter und andere Websites mit hohem Volumen tun dies wahrscheinlich eine Schicht vor den Servern. Wahrscheinlich mit einem Load Balancer, der die Serverlast über alle Server erkennen kann und die Last zu hoch ist (wenn die Maschinen nicht mehr antworten) leiten sie den Datenverkehr an einen Server um, der nur die Seite “Fail Wal” zurückgibt.

Diese Antwort auf Stack Overflow schlägt vor, sys_getloadavg() und einen Fehler anzuzeigen, wenn dieser zu hoch ist (und “zu hoch” sollte durch Versuch und Irrtum definiert werden). Ich würde dies in der Hauptindex.php-Datei tun, die WordPress “bootet”, um einen schnellen Exit zu erhalten und den Server nicht mehr zu belasten.

Wenn sich Ihr System auf Linux befindet, können Sie die tatsächliche Serverlast von /proc/loadavg

Beispielsweise:

 $load = reset ( explode ( ' ' , file_get_contents('/proc/loadavg') ) ); if ($load > 3.14 ) { // load too high, header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 60'); fail_whale(); } 

EDIT: Header-Methodenzeilen hinzugefügt.

Sie können die Nachricht für den db-error.php database anpassen, indem Sie die db-error.php in das db-error.php wp-content db-error.php .

Aber wenn PHP down ist, denke ich nicht, dass es etwas gibt, was WP oder sein Plugin tun könnte. Es ist besser, Ihr Hosting zu fragen, wie Sie die Server-503-Seite anpassen können.

Fügen Sie in Ihrer .htaccess-Datei diese Zeile hinzu:

ErrorDocument 503 /error503.html

Dann erstellen Sie eine error503.html Datei im Stammverzeichnis der Site, in der sich Ihre eigenen Sachen befinden.

Dies kann oder kann nicht funktionieren, je nachdem, wie Ihr Hosting konfiguriert ist.