Den här artikeln är en del av Apache Server Guide-serien:

  • Säkra Apache på Ubuntu - Del 1
  • Säkra Apache på Ubuntu - Del 2
  • Optimera Apache Performance - Del 1
  • Optimera Apache Performance - Del 2
  • Konfigurera namnbaserad Virtualhost Apache
  • Konfigurera IP och portbaserad Virtualhost i Apache
  • Så här ställer du in lösenordskyddswebbkatalogen i Apache
  • Ställa in Apache Server med SSL-support på Ubuntu
  • Konfigurera Fail2ban för att skydda Apache från ett DDOS-attack
  • Så här ställer du upp Webdav med Apache på Ubuntu
  • Övervaka Apache webbserver med Mod_status
  • Hur man skyddar mot DDoS med Mod_evasive på Apache Server

Apache är en open-source webbserver implementering, och det är den mest populära webbservern över hela världen. Nästan 70% av webbservrarna på Internet använder Apache. Medan vi kan förbättra Apache-serverns prestanda genom att lägga till ytterligare hårdvara som RAM, CPU, etc., kan vi uppnå samma resultat genom att anpassa Apache-konfigurationen också.

I det här inlägget beskrivs hur man förbättrar Apache-prestanda utan att lägga till ytterligare maskinvaruresurser i ditt system.

Obs! Den här guiden är klar på en Ubuntu 14.04-server 14.04.

MaxKeepAliveRequests

MaxKeepAliveRequests begränsar antalet begärda ansökningar per anslutning. Det används för att styra ihållande anslutningar. I Ubuntu är standardvärdet för MaxKeepAliveRequests 100 . Du kan ändra det till något värde du önskar. Det rekommenderade värdet för MaxKeepAliveRequests är mellan 50 och 75.

Du kan ändra det här värdet genom att redigera Apache-konfigurationsfilen.

 sudo nano /etc/apache2/apache2.conf 

Ändra värdet från 100 till 60.

 MaxKeepAliveRequests 60 

Spara filen och starta om Apache.

 sudo /etc/init.d/apache2 omstart 

KeepAliveTimeout

KeepAliveTimeout definierar hur länge servern väntar på den nya förfrågan från anslutna kunder. Om KeepAliveTimeout till ett högt värde kan orsaka prestandafrågor på en tungt laddad webbserver. I Ubuntu är standardvärdet för KeepAliveTimeout 15 . Det rekommenderade värdet för KeepAliveTimeout är mellan 1 och 5.

Du kan ändra det här värdet genom att redigera Apache-konfigurationsfilen.

 sudo nano /etc/apache2/apache2.conf 

Ändra värdet från 15 till 3.

 KeepAliveTimeout 3 

Spara filen och starta om Apache.

Maxclients

Det anger gränsen för antalet samtidiga anslutningar som kommer att serveras. Varje ny anslutningsförfrågan kommer att köpas upp efter denna gräns. När en process är befriad kommer den köstrade anslutningen att serveras. I Ubuntu är standardvärdet MaxClients 250 . Det rekommenderas att behålla detta värde vid 150 .

Du kan ändra det här värdet genom att redigera filen "mpm_prefork.conf".

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

Ändra värdet från 250 till 150.

 MaxClients 150 

Spara filen och starta om Apache.

MaxConnectionsPerChild

Det används för att återvinna processer. När denna gräns är inställd på 0, tillåts en obegränsad mängd begäranden per process. MaxConnectionsPerChild sätter gränsen för antalet förfrågningar som en enskild barnprocess kommer att hantera. När den når den angivna gränsen kommer barnprocessen att dö. I Ubuntu är standardvärdet MaxConnectionsPerChild 100 .

De rekommenderade värdena för denna inställning är:

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

Du kan ändra det här värdet genom att redigera filen "mpm_prefork.conf".

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

Ändra värdet från 100 till 300.

 MaxConnectionsPerChild 300 

Spara filen och starta om Apache.

Håll vid liv

Som standard är denna inställning inställd på O n i Ubuntu. När Apache-servern får förfrågningar från hundratals och tusentals IP-adresser i taget, måste den här inställningen vara Off . Det rekommenderas att inaktivera denna inställning för att öka anslutningens genomströmning.

Du kan inaktivera den här inställningen genom att redigera Apache-konfigurationsfilen.

 sudo nano /etc/apache2/apache2.conf 

Ändra värdet från On till Off.

 KeepAlive Off 

Spara filen och starta om Apache.

MinSpareServers och MaxSpareServers

Den ställer in önskat minimalt och maximalt antal processer för inaktiv server för barn. Det kontrollerar hur många oanvända barnprocesser Apache kommer att fortsätta att leva medan de väntar på fler förfrågningar om att de ska användas. Varje barnprocess förbrukar resurser, så om du ställer in MaxSpareServers värdet för högt kan det orsaka resursproblem.

De rekommenderade värdena för MinSpareServers är:

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

De rekommenderade värdena för MaxSpareServers värdet bör ställas in som dubbla som för MinSpareServers .

Du kan ändra värdet MinSpareServers till 5 och MaxSpareServers värdet till 10 genom att redigera filen "mpm_prefork.conf".

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

Spara filen och starta om Apache.

Slutsats

Konfigurera Apache för maximal prestanda är väldigt enkelt. Du kan också förstå webbserverns krav och testa med olika tillgängliga alternativ. Du hittar fler tips för att optimera Apache i mitt nästa inlägg. Gärna kommentera om du har några frågor.