Drupal är ett populärt , öppen källkod content management system , men ibland är dess styrka är också dess svaghet . Vem som helst kan utöka funktionerna i Drupal eller , om de väljer , redigerar kärnan skript . Dock kan dessa förändringar skapa loopar i programvarans logik . I ett försök att hitta en lösning , börjar programmet att konsumera mer och mer av serverns resurser tills det finns ingen kvar . Därför fryser webbplatsen , och hårdvaran kan sluta svara . Om detta händer dig , måste du felsöka dessa skenande processer . Saker du behöver
Text Redaktör FTP-klient
SSH -klient
Visa fler instruktioner
hitta orsaken
1
Roll tillbaka eventuella senare ändringar . Om det ökar Drupal hastighet och lyhördhet , innehåller den nya koden på problemet .
2
Undersök din server processer . I ett Linux- build , kör " top " för att se vad som är tidskrävande resurser . I en Windows build , starta Process Monitor . Om det mest lungsjuk processen är " mysql " eller " mysqld " då vet ni det databas - relaterade .
3
Review dina Drupal stockar . Leta efter identiska , upprepade meddelanden . Använda de refererade stigar , arbeta igenom modulerna för att upptäcka vad som utlöser dem .
4
Kontrollera din server loggar för att se om någon är artificiellt utlöser en periodisk process ( dvs. , " poormanscron " ) till förbrukar resurser på servern .
Implementera en lösning
5
bort oändliga slingor i bidragit med kod . Till exempel , om du har en " drupal_goto ( ) ; " -funktionen på sidan en som pekar på sidan två , och sidan två innehåller sin egen " drupal_goto ( ) ; " tillbaka till sida ett , kommer du att skapa en oändlig loop . Avlägsna en av de felande funktionerna kommer att eliminera den skenande process .
6
Simplify minneskrävande åtgärder (såsom databas och sökningar string ) i din bidragit med kod . Till exempel kan en MySQL Query som söker varje nod och returnerar en stor mängd data förbrukar för mycket minne . I detta fall , begränsa mySQL förfrågningar till specifika nodtyperna eller nod datum för skapande och begränsa den information som returneras .
7
Öka PHP memory_limit ersättning . Under vissa omständigheter kan en skenande process inte vara ett problem efter att öka minnet ersättning . Den " Drupal : Öka Memory Limit " dokument , som erbjuds som en del av Drupal installationsguide , är den definitiva källan för att göra denna förändring
8
Förbjud utomstående från att utlösa minneskrävande processer som sökindexering . . Om Drupal tillstånd galler inte erbjuder tillräckligt med kornighet , kan du också göra detta genom att använda server -och filbaserade behörighet med den mottagande maskinens operativsystem ( dvs. , " chmod " för Linux ) . Alternativt kan du använda IP - baserade blockering inom serverprogramvaran ( som Apache ) för att hålla andra från att störa din webbplats resultat .