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