Drupal ist eine beliebte Open-Source Content-Management- System , aber manchmal ihre Stärke ist auch seine Schwäche. Jeder kann erweitern die Funktionalität von Drupal oder , wenn sie wählen , bearbeiten Sie die Kern -Skripte. Allerdings können diese Veränderungen zu erstellen Schleifen in der Software- Logik. In einem Versuch, eine Lösung zu finden , beginnt die Software, um mehr und mehr von der Server- Ressourcen verbrauchen , bis es keine mehr gibt . Folglich friert der Website , und die Hardware kann nicht mehr reagieren. Wenn Ihnen das passiert , werden Sie brauchen, um diese außer Kontrolle geratenen Prozess zu beheben. Things You
Texteditor
FTP-Client
SSH-Client
brauchen anzeigen Weitere Anweisungen
Finden Sie die Ursache
1
Rollback letzten Änderungen . Wenn das Drupal erhöht die Geschwindigkeit und Reaktionsfähigkeit , enthält der neue Code das Problem.
2
Untersuchen Sie Ihre Server-Prozesse . In einem Linux -Build, "top" zu sehen, was Ressourcen verbraucht . In einer Windows- Build , starten Sie den Process Monitor . Wenn die verbrauchende Prozess ist "mysql " oder " mysqld " dann wirst du wissen, dass es im Zusammenhang mit Datenbank .
3
Überprüfen Sie Ihre Drupal -Protokolle. Suchen Sie nach identisch , wiederholte Nachrichten . Mit den Bahnen verwiesen , durch die Module arbeiten zu entdecken, was sie auszulösen .
4
Überprüfen Sie Ihre Server-Logs zu sehen, ob jemand künstlich ausgelöst wird eine periodische Prozess (dh , " poormanscron "), um verbrauchen Ressourcen auf Ihrem Server.
Implementieren einer Lösung
5
entfernen Endlosschleifen in Code beigetragen . Zum Beispiel , wenn Sie eine " drupal_goto (); "-Funktion auf der ersten Seite , die auf Seite zwei und Seite zwei eigene enthält " drupal_goto ();" Zurück zur Startseite finden Sie eine Endlosschleife erstellen . Entfernen eines der beanstandeten Funktionen beseitigt die außer Kontrolle geratener Prozess .
6
Simplify Speicher -intensive Aktionen ( wie zB Datenbank- und String- Suche ) in Ihrem Code beigetragen . Zum Beispiel kann eine Query dem jeder Knoten durchsucht und gibt eine große Menge an Daten verbrauchen zu viel Speicher . In diesem Fall beschränken mySQL Anfragen auf bestimmte Arten von Knoten oder Knoten Schaffung Termine und schränken die Daten zurückgegeben.
7
Zuwachs PHP memory_limit Zulage . In einigen Fällen kann ein außer Kontrolle geratener Prozess kein Problem sein , nachdem die Erhöhung der Zulage Speicher . Die " Drupal : Erhöhung Speicher Limit" Dokument , als Teil der Drupal-Installation Guide angeboten , ist die definitive Quelle für diese Änderung
8
Verbieten Außenseiter auslöst Speicher -intensive Prozesse wie Suchindizierung . . Wenn Drupal Erlaubnis Netz nicht bieten genug Granularität , können Sie dies auch durch den Einsatz von Server-und Datei -basierte Berechtigungen mithilfe des Host- Maschine das Betriebssystem (dh , " chmod " für Linux). Alternativ können Sie auch IP-basierte Blockierung innerhalb der Server-Software ( zB Apache ) , andere stören die Leistung Ihrer Website zu halten.