Denne artikkelen er en del av Apache Server Guide-serien:

  • Sikre Apache på Ubuntu - Del 1
  • Sikre Apache på Ubuntu - Del 2
  • Optimalisering av Apache Performance - Del 1
  • Optimalisering av Apache Performance - Del 2
  • Sette opp navnbasert Virtualhost Apache
  • Sette opp IP og portbasert Virtualhost i Apache
  • Hvordan sette opp passordbeskytt webkatalogen i Apache
  • Sette opp Apache Server med SSL-støtte på Ubuntu
  • Konfigurere Fail2ban for å beskytte Apache fra et DDOS-angrep
  • Hvordan sette opp Webdav med Apache på Ubuntu
  • Overvåk Apache Web Server ved hjelp av Mod_status
  • Slik beskytter du mot DDoS med Mod_evasive på Apache Server

Apache er en åpen kildekode-webserver-implementering, og det er den mest populære webserveren over hele verden. Nesten 70% av webserverne på Internett bruker Apache. Mens vi kan forbedre Apache-serverens ytelse ved å legge til ekstra maskinvare som RAM, CPU, etc., kan vi oppnå det samme resultatet ved å tilpasse Apache-konfigurasjonen også.

Dette innlegget forklarer hvordan du kan forbedre Apache-ytelsen uten å legge til ekstra maskinvareressurser i systemet.

Merk : denne veiledningen er gjort på en Ubuntu 14.04-server 14.04.

MaxKeepAliveRequests

MaxKeepAliveRequests begrenser antall forespørsler tillatt per tilkobling. Det brukes til å kontrollere vedvarende tilkoblinger. I Ubuntu er standardverdien til MaxKeepAliveRequests 100 . Du kan endre den til enhver verdi du ønsker. Den anbefalte verdien av MaxKeepAliveRequests er mellom 50 og 75.

Du kan endre denne verdien ved å redigere Apache-konfigurasjonsfilen.

 sudo nano /etc/apache2/apache2.conf 

Endre verdien fra 100 til 60.

 MaxKeepAliveRequests 60 

Lagre filen og start Apache på nytt.

 sudo /etc/init.d/apache2 restart 

Keepalive

KeepAliveTimeout definerer hvor lenge serveren venter på den nye forespørselen fra tilkoblede klienter. Innstilling KeepAliveTimeout til en høy verdi kan forårsake ytelsesproblemer i en tungt lastet webserver. I Ubuntu er standardverdien for KeepAliveTimeout 15 . Den anbefalte verdien av KeepAliveTimeout er mellom 1 og 5.

Du kan endre denne verdien ved å redigere Apache-konfigurasjonsfilen.

 sudo nano /etc/apache2/apache2.conf 

Endre verdien fra 15 til 3.

 KeepAliveTimeout 3 

Lagre filen og start Apache på nytt.

MaxClients

Det setter grensen på antall samtidige tilkoblinger som vil bli servert. Hver ny tilkoblingsforespørsel vil stå opp i køen etter denne grensen. Når en prosess er frigjort, vil den tilkoblede forbindelsen bli servert. I Ubuntu er standardverdien MaxClients 250 . Det anbefales å beholde denne verdien til 150 .

Du kan endre denne verdien ved å redigere filen "mpm_prefork.conf".

 sudo nano /etc/apache2/mods-available/mpm_prefork.conf 

Endre verdien fra 250 til 150.

 MaxClients 150 

Lagre filen og start Apache på nytt.

MaxConnectionsPerChild

Det brukes til å resirkulere prosesser. Når denne grensen er satt til 0, er det ubegrenset antall forespørsler tillatt per prosess. MaxConnectionsPerChild setter grensen på antall forespørsler som en individuell barneprosess skal håndtere. Etter at den har nådd grensen, vil barnet prosessen dø. I Ubuntu er standard MaxConnectionsPerChild verdien 100 .

De anbefalte verdiene for denne innstillingen er:

  • virtualisert server 300
  • server med 1-4 GB RAM 500
  • server med 4 + GB RAM 1000

Du kan endre denne verdien ved å redigere filen "mpm_prefork.conf".

 sudo nano /etc/apache2/mods-available/mpm_prefork.conf 

Endre verdien fra 100 til 300.

 MaxConnectionsPerChild 300 

Lagre filen og start Apache på nytt.

Holde i live

Som standard er denne innstillingen satt til O n i Ubuntu. Når Apache-serveren får forespørsler fra hundrevis og tusenvis av IP-er på en gang, må denne innstillingen være Off . Det anbefales at du deaktiverer denne innstillingen for å øke tilkoblingens gjennomstrømning.

Du kan deaktivere denne innstillingen ved å redigere Apache-konfigurasjonsfilen.

 sudo nano /etc/apache2/apache2.conf 

Endre verdien fra On til Off.

 KeepAlive Off 

Lagre filen og start Apache på nytt.

MinSpareServers og MaxSpareServers

Den setter det ønskede minimums og maksimalt antall inaktive serverprosesser. Det styrer hvor mange ubrukt barnprosesser Apache vil holde seg i live mens de venter på flere forespørsler om å sette dem i bruk. Hver barneprosess bruker ressurser, så hvis du setter MaxSpareServers verdien for høy, kan det forårsake ressursproblemer.

De anbefalte verdiene for MinSpareServers er:

  • virtualisert server 5
  • server med 1-2 GB RAM 10
  • server med 2-4 GB RAM 20
  • server med 4 + GB RAM 25

De anbefalte verdiene for MaxSpareServers verdien bør settes som dobbelt MinSpareServers som MinSpareServers .

Du kan endre verdien MinSpareServers til 5 og MaxSpareServers verdien til 10 ved å redigere filen "mpm_prefork.conf".

 sudo nano /etc/apache2/mods-available/mpm_prefork.conf 
 MinSpareServers 5 MaxSpareServers 10 

Lagre filen og start Apache på nytt.

Konklusjon

Konfigurere Apache for maksimal ytelse er veldig enkelt. Du kan også forstå webserverkravene og teste med ulike tilgjengelige alternativer. Du finner flere tips for optimalisering av Apache i mitt neste innlegg. Du er velkommen til å kommentere hvis du har spørsmål.