Mit der folgenden Änderung wird der User bei einer hohen Serverlast automatisch auf die Wartungsseite umgeleitet. Dadurch verringert sich die Last und der User sollte, nachdem wieder genügend Ressourcen frei sind, die Seite aufrufen können. Der Admin kann die Seite wie bei dem 'normalen' Wartungsmodus weiterhin nutzen.

Vorwort
Zunächst solltet ihr euren load average beobachten. Wichtig dabei ist, dass Ihr einen Grenzwert feststellt, ab wann der Server in die Knie geht. Den Wert kann man sich z.b. mit folgendem Code ausgeben lassen:

PHP-Code:
$load sys_getloadavg();
echo 
$load[0]; 
Wenn ihr einen 'Grenzwert' herausgefunden habt, müssen folgende Änderungen in der /lib/sessions.lib.php vorgenommen werden.

1. In ca. Zeile 23 unter

PHP-Code:
$pageconfig mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_seitenkonfig LIMIT 1")); 
folgenden Code einfügen

PHP-Code:
$load sys_getloadavg(); 


2.
Die if-Abfrage in ca. Zeile 24

PHP-Code:
if ($pageconfig['wartung'] == && $_SESSION['uid'] != $admin_id) { 
ersetzen mit

PHP-Code:
if ($pageconfig['wartung'] == && $_SESSION['uid'] != $admin_id || $load[0] > 90 && $_SESSION['uid'] != $admin_id) { 
Das wars


Hinweis
90 dient lediglich als Beispiel und sollte auf euren ermittelten 'Grenzwert' geändert werden.