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.