Optimering af Apache Performance - Del 1
Denne artikel er en del af Apache Server Guide serien:
- Sikring af Apache på Ubuntu - Del 1
- Sikring af Apache på Ubuntu - Del 2
- Optimering af Apache Performance - Del 1
- Optimering af Apache Performance - Del 2
- Opsætning af navnebaseret Virtualhost Apache
- Opsætning af IP og portbaseret Virtualhost i Apache
- Sådan oprettes adgangskodebeskyttet webkatalog i Apache
- Opsætning af Apache Server med SSL-support på Ubuntu
- Opsætning af Fail2ban for at beskytte Apache fra et DDOS-angreb
- Sådan opsættes Webdav med Apache på Ubuntu
- Overvåg Apache Web Server ved hjælp af Mod_status
- Sådan beskytter du mod DDoS med Mod_evasive på Apache Server
Apache er en open source webserver implementering, og det er den mest populære webserver over hele verden. Næsten 70% af webservere på internettet bruger Apache. Selvom vi kan forbedre Apache-serverens ydeevne ved at tilføje ekstra hardware som RAM, CPU osv., Kan vi opnå det samme resultat ved at tilpasse Apache-konfigurationen også.
Dette indlæg forklarer, hvordan du forbedrer Apache-ydeevnen uden at tilføje yderligere hardware ressourcer til dit system.
Bemærk : Denne vejledning er udført på en Ubuntu 14.04 server 14.04.
MaxKeepAliveRequests
MaxKeepAliveRequests begrænser antallet af anmodninger, der er tilladt pr. Forbindelse. Det bruges til at kontrollere vedvarende forbindelser. I Ubuntu er standardværdien af MaxKeepAliveRequests
100
. Du kan ændre det til enhver værdi, du ønsker. Den anbefalede værdi af MaxKeepAliveRequests
er mellem 50 og 75.
Du kan ændre denne værdi ved at redigere Apache-konfigurationsfilen.
sudo nano /etc/apache2/apache2.conf
Skift værdien fra 100 til 60.
MaxKeepAliveRequests 60
Gem filen og genstart Apache.
sudo /etc/init.d/apache2 genstart
KeepAliveTimeout
KeepAliveTimeout definerer, hvor længe serveren venter på den nye anmodning fra forbundne klienter. Indstilling af KeepAliveTimeout til en høj værdi kan medføre ydeevneproblemer i en stærkt indlæst webserver. I Ubuntu er standardværdien af KeepAliveTimeout
15
. Den anbefalede værdi af KeepAliveTimeout
er mellem 1 og 5.
Du kan ændre denne værdi ved at redigere Apache-konfigurationsfilen.
sudo nano /etc/apache2/apache2.conf
Skift værdien fra 15 til 3.
KeepAliveTimeout 3
Gem filen og genstart Apache.
MaxClients
Det sætter grænsen for antallet af samtidige forbindelser, der vil blive serveret. Hver ny forbindelsesforespørgsel vil være køet op efter denne grænse. Når en proces er frigjort, vil den køede forbindelse blive serveret. I Ubuntu er standard MaxClients
værdien 250
. Det anbefales at holde denne værdi på 150
.
Du kan ændre denne værdi ved at redigere filen "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Skift værdien fra 250 til 150.
MaxClients 150
Gem filen og genstart Apache.
MaxConnectionsPerChild
Det bruges til at genbruge processer. Når denne grænse er sat til 0
, er en ubegrænset mængde anmodninger tilladt pr. Proces. MaxConnectionsPerChild sætter grænsen for antallet af anmodninger, som en individuel børneproces håndterer. Når den når den angivne grænse, vil barneprocessen dø. I Ubuntu er standard MaxConnectionsPerChild
værdien 100
.
De anbefalede værdier for denne indstilling er:
- virtualiseret server 300
- server med 1-4 GB RAM 500
- server med 4 + GB RAM 1000
Du kan ændre denne værdi ved at redigere filen "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Skift værdien fra 100 til 300.
MaxConnectionsPerChild 300
Gem filen og genstart Apache.
Holde i live
Denne indstilling er som standard indstillet til O n
i Ubuntu. Når Apache-serveren får anmodninger fra hundredvis og tusindvis af IP'er på en gang, skal denne indstilling være Off
. Det anbefales at deaktivere denne indstilling for at øge forbindelsens gennemgang.
Du kan deaktivere denne indstilling ved at redigere Apache-konfigurationsfilen.
sudo nano /etc/apache2/apache2.conf
Skift værdien fra On
til Off.
KeepAlive Off
Gem filen og genstart Apache.
MinSpareServers og MaxSpareServers
Den indstiller det ønskede minimum og maksimum antal inaktiv børneserver processer. Det styrer, hvor mange ubrugte børneprocesser Apache vil holde sig i live, mens de venter på flere anmodninger om at sætte dem i brug. Hver børneproces bruger ressourcer, så hvis du sætter MaxSpareServers
værdien for høj, kan det medføre ressourceproblemer.
De anbefalede værdier for MinSpareServers
er:
- virtualiseret server 5
- server med 1-2 GB RAM 10
- server med 2-4GB RAM 20
- server med 4 + GB RAM 25
De anbefalede værdier for MaxSpareServers
værdien skal indstilles som det dobbelte af MinSpareServers
.
Du kan ændre værdien MinSpareServers
til 5
og MaxSpareServers
værdien til 10
ved at redigere filen "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers 5 MaxSpareServers 10
Gem filen og genstart Apache.
Konklusion
Konfiguration af Apache for maksimal ydeevne er meget nemt. Du kan også forstå webserverkravene og teste med forskellige tilgængelige indstillinger. Du finder flere tips til optimering af Apache i mit næste indlæg. Du er velkommen til at kommentere, hvis du har spørgsmål.