Apache-prestaties optimaliseren - deel 1
Dit artikel maakt deel uit van de Apache Server Guide-serie:
- Apache beveiligen op Ubuntu - Deel 1
- Apache beveiligen op Ubuntu - Deel 2
- Apache-prestaties optimaliseren - deel 1
- Apache-prestaties optimaliseren - deel 2
- Op naam gebaseerde Virtualhost Apache instellen
- IP en op poorten gebaseerde Virtualhost instellen in Apache
- Hoe de wachtwoordbeveiliging van de webdirectory in Apache in te stellen
- Apache-server instellen met SSL-ondersteuning op Ubuntu
- Fail2ban instellen om Apache te beschermen tegen een DDOS-aanval
- Hoe Webdav instellen met Apache op Ubuntu
- Controleer Apache Web Server met Mod_status
- Hoe te beschermen tegen DDoS met Mod_evasive op Apache Server
Apache is een open-source webserver-implementatie en het is de meest populaire webserver over de hele wereld. Bijna 70% van de webservers op internet gebruikt Apache. Hoewel we de prestaties van de Apache-server kunnen verbeteren door extra hardware zoals RAM, CPU, enz. Toe te voegen, kunnen we hetzelfde resultaat bereiken door ook de Apache-configuratie aan te passen.
In dit bericht wordt uitgelegd hoe u de prestaties van Apache kunt verbeteren zonder extra hardwarebronnen aan uw systeem toe te voegen.
Opmerking : deze handleiding is gemaakt op een Ubuntu 14.04-server 14.04.
MaxKeepAliveRequests
MaxKeepAliveRequests beperkt het aantal toegestane verzoeken per verbinding. Het wordt gebruikt om persistente verbindingen te beheren. In Ubuntu is de standaardwaarde van MaxKeepAliveRequests
100
. U kunt het naar elke gewenste waarde wijzigen. De aanbevolen waarde van MaxKeepAliveRequests
is tussen 50 en 75.
U kunt deze waarde wijzigen door het Apache-configuratiebestand te bewerken.
sudo nano /etc/apache2/apache2.conf
Wijzig de waarde van 100 in 60.
MaxKeepAliveRequests 60
Sla het bestand op en start Apache opnieuw.
sudo /etc/init.d/apache2 opnieuw opstarten
KeepAliveTimeout
KeepAliveTimeout definieert hoe lang de server wacht op het nieuwe verzoek van verbonden clients. Het instellen van KeepAliveTimeout op een hoge waarde kan prestatieproblemen veroorzaken bij een zwaarbelaste webserver. In Ubuntu is de standaardwaarde van KeepAliveTimeout
15
. De aanbevolen waarde van KeepAliveTimeout
ligt tussen 1 en 5.
U kunt deze waarde wijzigen door het Apache-configuratiebestand te bewerken.
sudo nano /etc/apache2/apache2.conf
Verander de waarde van 15 naar 3.
KeepAliveTimeout 3
Sla het bestand op en start Apache opnieuw.
maxClients
Hiermee wordt de limiet ingesteld voor het aantal gelijktijdige verbindingen dat wordt aangeboden. Elke nieuwe verbindingsaanvraag wordt na deze limiet in de wachtrij geplaatst. Zodra een proces is vrijgegeven, wordt de wachtrijverbinding weergegeven. In Ubuntu is de standaard MaxClients
waarde 250
. Het wordt aanbevolen om deze waarde op 150
te houden.
U kunt deze waarde wijzigen door het bestand "mpm_prefork.conf" te bewerken.
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Wijzig de waarde van 250 in 150.
MaxClients 150
Sla het bestand op en start Apache opnieuw.
MaxConnectionsPerChild
Het wordt gebruikt om processen te recyclen. Wanneer deze limiet is ingesteld op 0
, is een onbeperkt aantal verzoeken per proces toegestaan. MaxConnectionsPerChild stelt de limiet in voor het aantal verzoeken dat een individueel onderliggende proces zal verwerken. Nadat het de opgegeven limiet heeft bereikt, sterft het onderliggende proces. In Ubuntu is de standaardwaarde MaxConnectionsPerChild
100
.
De aanbevolen waarden voor deze instelling zijn:
- gevirtualiseerde server 300
- server met 1-4 GB RAM 500
- server met 4 + GB RAM 1000
U kunt deze waarde wijzigen door het bestand "mpm_prefork.conf" te bewerken.
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Verander de waarde van 100 naar 300.
MaxConnectionsPerChild 300
Sla het bestand op en start Apache opnieuw.
In leven houden
Standaard staat deze instelling ingesteld op O n
in Ubuntu. Wanneer de Apache-server aanvragen ontvangt van honderden en duizenden IP's tegelijk, moet deze instelling Off
. Het wordt aanbevolen om deze instelling uit te schakelen om de verbindingsdoorvoer te vergroten.
U kunt deze instelling uitschakelen door het Apache-configuratiebestand te bewerken.
sudo nano /etc/apache2/apache2.conf
Wijzig de waarde van On
naar Off.
KeepAlive Off
Sla het bestand op en start Apache opnieuw.
MinSpareServers en MaxSpareServers
Hiermee wordt het gewenste minimum- en maximumaantal inactieve kind-serverprocessen ingesteld. Het bepaalt hoeveel ongebruikte child-processen Apache in leven zal houden terwijl ze wachten op meer verzoeken om ze in gebruik te nemen. Elk MaxSpareServers
verbruikt bronnen, dus als u de waarde van MaxSpareServers
te hoog MaxSpareServers
, kan dit MaxSpareServers
veroorzaken.
De aanbevolen waarden voor MinSpareServers
zijn:
- gevirtualiseerde server 5
- server met 1-2 GB RAM 10
- server met 2-4 GB RAM 20
- server met 4+ GB RAM 25
De aanbevolen waarden voor de MaxSpareServers
waarde moeten worden ingesteld op het dubbele van die van MinSpareServers
.
U kunt de waarde MinSpareServers
naar 5
en de waarde MaxSpareServers
naar 10
door het bestand "mpm_prefork.conf" te bewerken.
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers 5 MaxSpareServers 10
Sla het bestand op en start Apache opnieuw.
Conclusie
Het configureren van Apache voor maximale prestaties is heel eenvoudig. U kunt ook de vereisten van de webserver begrijpen en testen met verschillende beschikbare opties. U zult meer tips vinden voor het optimaliseren van Apache in mijn volgende bericht. Voel je vrij om commentaar te geven als je vragen hebt.