Optimalisering av Apache Performance - Del 1
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.