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.