Panoramica
La configurazione predefinita per il server Web Apache fornisce una serie di opzioni sicure per consentire ad Apache di funzionare bene in un ambiente poco carico. Un parametro chiave è "Keepalive" che normalmente è disattivato. Per un sito ricco di contenuti in cui vengono effettuate più connessioni da un client per recuperare molti contenuti, il server Web Apache eseguirà un lavoro aggiuntivo per elaborare ulteriori richieste di apertura/chiusura per ciascuna richiesta dallo stesso client. Utilizzando KeepAlive è possibile ottenere una riduzione del 50% del tempo di connessione quando le richieste HTTP/1.1 vengono eseguite dal browser client. Per aiutare con l'aumento del carico di lavoro che risulterà dall'abilitazione di keep alive, è possibile aumentare il numero di processi di lavoro nel file di configurazione per consentire una risposta più rapida quando vengono ricevute più richieste.
Attuazione
Il file di configurazione di Apache si chiama httpd.conf e di solito risiede in /etc/httpd/conf/ sulla maggior parte delle distribuzioni Linux.
Prima di qualsiasi modifica, eseguire una copia di backup del file di configurazione. Ad esempio, ho utilizzato una notazione data-ora per conservare una copia del file.
cp httpd.conf 2014-04-28-1149-httpd.conf
Apri il file usando "vi" e modifica i seguenti valori:
KeepAlive “On” KeepAliveTimeout 30 MaxKeepAliveRequests 1000 StartServers 10 MinSpareServers 10 MaxSpareServers 50 ServerLimit 100 Maxclients 100 MaxRequestsPerChild 4000
Risultato
Nei test iniziali si è verificato un aumento marginale dei tempi di risposta, ma questo non era coerente poiché tutte le connessioni provenivano dallo stesso server di test e i guadagni dall'impostazione KeepAlive sono piccoli ma significativi quando viene effettuato un numero elevato di connessioni da client diversi. L'ottimizzazione per sito è consigliata poiché il consumo di memoria sarà un problema più dei tempi delle prestazioni.
Per dettagli specifici su ciascuna direttiva per Apache 2.4 (Modifica a 2.2 per sistemi Apache 2.2), vedere:http://httpd.apache.org/docs/2.4/mod/core.html