Drupal è un popolare open-source del sistema di gestione dei contenuti , ma a volte la sua forza è anche la sua debolezza . Chiunque può estendere la funzionalità di Drupal o , se lo desiderano , modificare gli script di base . Tuttavia, questi cambiamenti possono generare loop nella logica del software . Nel tentativo di trovare una risoluzione , il software inizia a consumare sempre di più delle risorse del server fino a quando non ce ne sono lasciati . Di conseguenza , il sito si blocca , e l'hardware potrebbe non rispondere. Se ciò si verifica , è necessario risolvere questi processi impazziti . Cose che ti serviranno
Text Editor
FTP client
client SSH
Show More Istruzioni
trovare la causa
1
rollback di tutte le modifiche recenti . Se questo aumenta la velocità e la reattività di Drupal , il nuovo codice contiene il problema .
2
Indagare i processi del server . In una build Linux, eseguire "top" per vedere che cosa è il consumo di risorse . In una generazione di Windows , lanciare il Process Monitor . Se il processo è più tisico " mysql " o " mysqld " allora saprete suo database correlati
3
recensione tuoi log di Drupal . . Cercare , messaggi ripetuti identici. Utilizzando i percorsi di riferimento , il lavoro attraverso i moduli di scoprire ciò che li sta provocando .
4
Controlla il tuo server di log per vedere se qualcuno è artificialmente innescare un processo periodico (cioè , " poormanscron ") per consumano le risorse del server.
Implementare una soluzione
5
Rimuovere loop infiniti in codice contribuito . Per esempio, se si dispone di un " drupal_goto (); " funzione a pagina uno che punta a pagina due e pagina due contiene il proprio " drupal_goto (); " torna alla pagina uno , si creerà un ciclo infinito . Rimozione di una delle funzioni di offendere eliminerà il processo di fuga.
6
Simplify azioni che richiedono molta memoria (come la banca dati e ricerche di stringhe ) nel codice contribuito . Ad esempio, una query mySQL che cerca ogni nodo e restituisce una grande quantità di dati può consumare troppa memoria . In questo caso , limitare le query MySQL per i tipi di nodi specifici o date di creazione del nodo e vincolare i dati restituiti . Indennità memory_limit
7
Aumento di PHP . In alcune circostanze , un processo in fuga non può essere un problema dopo l'aumento dell'indennità di memoria . Il " Drupal : aumentare la memoria Limit" documento , offerto come parte della guida di installazione di Drupal , è la risorsa definitiva per fare questo cambiamento
8
Proibire agli stranieri di innescare processi che richiedono molta memoria come la ricerca di indicizzazione. . Se griglia permesso di Drupal non offre sufficiente granularità , si può anche fare questo con l'impiego di server e le autorizzazioni di file-based che utilizzano il sistema operativo della macchina host (cioè , " chmod " per Linux ) . In alternativa, utilizzare il blocco IP-based all'interno del software del server ( come Apache ) per impedire agli altri di interferire con le prestazioni del tuo sito .