Apache Thrift PHP è lento

December 8

Apache Thrift PHP è lento


Ci sono molte ragioni per cui alcuni progetti di programmazione, come ad esempio PHP Thrift, sono significativamente lenta. Le cause possono essere problemi di hardware e sistemi operativi, problemi di configurazione di run-time e problemi di configurazione di compilazione. Tutte queste cose devono essere affrontate per mantenere il vostro server Apache sempre attivo e funzionante in modo efficiente. Non riuscendo a risolvere uno di questi problemi, tuttavia, può risultare in continuo calo delle prestazioni del server Apache e degrado significativo della velocità durante il caricamento vostri progetti.

istruzione

1 Eseguire l'ultima patch di rilascio e la sicurezza del sistema operativo sul server; Di solito è la versione più stabile. Molti miglioramenti significativi delle prestazioni sono stati aggiunti gli stack di comunicazione e le librerie di thread di diversi sistemi operativi esistenti, in modo da aggiornare alla versione più recente contribuirà ad accelerare le prestazioni del server.

2 Applicare il codice qui sotto al server, in modo che disattivare il servizio dominio di rete o DNS, ricerche ad eccezione di html e file .cgi. Ciò consentirà il progetto per caricare più velocemente perché fanno solo le richieste in base ai criteri indicati:

HostnameLookups off

<File ~ "(html | CGI). $">

HostnameLookups su

</ File>

3 Incollare il seguente codice per attivare "FollowSymLinks" e "SymLinksIfOwnerMatch" sul progetto per almeno controllare i controlli supplementare svolto sul percorso DocumentRoot:

DocumentRoot / www / htdocs

<Directory />

Opzioni FollowSymLinks

</ Directory>

<Directory / www / htdocs>

Opzioni -FollowSymLinks + SymLinksIfOwnerMatch

</ Directory>

Questi controlli supplementari sono inutili e possono realmente rallentare il caricamento del tuo progetto PHP.

4 Disabilitare la funzione "lingering_close" in http_main.c directory del vostro server, ma fare molta attenzione in questo modo, perché questa funzione è necessario per l'implementazione sicura del progetto PHP:

lingering_close void (int s)

{

char junk_buffer [2048];

/ Spegnere il lato di invio /

shutdown (s, 1);

il segnale (SIGALRM, lingering_death);

allarme (30);

for (;;) {

selezionare (s per la lettura, due secondo timeout);

if (errore) break;

if (s è pronto per la lettura) {

if (lettura (s, junk_buffer, sizeof (junk_buffer)) <= 0) {

rompere;

}

/ Solo buttare via tutto ciò che è qui /

}

}

vicino (s);

}

Questo è più di un ultimo ricorso trick e in alcune situazioni non si applica affatto. E 'solo uno di quegli strumenti che aiutare o rompere il vostro codice.

Consigli e avvertenze

  • Ulteriori informazioni su PHP unendo forum di discussione per chiedere il parere di esperti.
  • Prova come molti strumenti possibili sul tuo sito web ospitato a livello locale per acquisire più esperienza con PHP.