Ci sono molti motivi per cui alcuni progetti di programmazione, ad esempio PHP Thrift, sono notevolmente lente. Possibili cause comprendono problemi hardware e sistema operativo, problemi di configurazione di runtime e problemi di configurazione in fase di compilazione. Tutte queste cose devono essere affrontate per mantenere il server Apache sempre attivo e funzionante in modo efficiente. Non riuscendo a risolvere questi problemi, tuttavia, potrebbero in continuo calo di prestazioni del server Apache e degradazione significativa della velocità durante il caricamento di vostri progetti.
Istruzioni
1
Eseguire l'ultima release e patch di protezione del sistema operativo sul server; solitamente è la versione più stabile. Molti miglioramenti significativi delle prestazioni sono stati aggiunti gli stack di comunicazione e infilare le librerie dei diversi sistemi operativi esistenti, così l'aggiornamento all'ultima versione vi aiuterà a velocizzare le prestazioni del server.
2
Applicare il codice sotto al server, quindi verrà disattivato il tuo ricerche servizio di rete di dominio, o DNS, fatta eccezione per i file. html e CGI. Ciò consentirà il vostro progetto caricare più velocemente perché solo rendere le richieste sulla base dei criteri menzionati:
HostnameLookups fuori
< file ~ ". $ (html|cgi) ">
HostnameLookups su
< / file >
3
Incollare il codice seguente per attivare "FollowSymLinks" e "SymLinksIfOwnerMatch" sul vostro progetto di controllare almeno ulteriori controlli effettuati sul percorso DocumentRoot:
DocumentRoot/www/htdocs
< directory / >
Opzioni FollowSymLinks
< / directory >
< directory/www/htdocs >
Opzioni - FollowSymLinks + SymLinksIfOwnerMatch
< / directory >
Questi controlli aggiuntivi sono inutili e può realmente rallentare il caricamento del progetto PHP.
4
Disattivare la funzione di "lingering_close" nella directory http_main.c del server, ma prendere la cura supplementare in tal modo, perché questa funzione è necessaria per l'implementazione sicura del vostro progetto PHP:
void lingering_close (int s)
{
char junk_buffer [2048];
/ arresto lato invio /
arresto (s, 1);
segnale (SIGALRM, lingering_death);
allarme (30);
per (;) {
Selezionare (s per la lettura, 2 secondo timeout);
Se break (errore);
Se (s è pronto per la lettura) {
Se (read (s, junk_buffer, sizeof (junk_buffer)) < = 0) {
Break;
}
/ solo buttare via tutto ciò che è qui /
}
}
chiudere (s);
}
Questo è più di un ultimo trucco di resort e in alcune situazioni non si applica a tutti. È solo uno di quegli strumenti che saranno aiutare o rompere il vostro codice.
Consigli & Avvertenze
- Ulteriori informazioni su PHP unendo Forum di discussione per chiedere il parere di esperti.
- Provare come molti strumenti come possibile sul tuo sito Web ospitato localmente per guadagnare più esperienza con PHP.