Apache-optimering för Low End VPS på Ubuntu 14.04

Apache är mycket lätt att installera och initiera, men det kommer med många moduler förinstallerade och som ett resultat kan du få prestandaproblem när du kör på en VPS med låg RAM.

Så det finns inte alltid behov av en större server, utan du kan helt enkelt konfigurera Apache-inställningar på rätt sätt och få bästa möjliga prestanda. Här är några saker du bör göra för att uppnå det.

Denna handledning är för Ubuntu 14.04 LTS men principerna liknar även tidigare versioner.


1. Inaktivera Apache-moduler

Du kan se en lista över alla moduler som installerats med kommandot ls /etc/apache2/mods-available/och alla moduler som för närvarande är aktiva med ls /etc/apache2/mods-enabled/.

På den första Apache-installationen finns 15 eller fler moduler aktiverade som standard. Dessa är för många och de flesta behövs inte.

Först och främst måste du göra en lista över alla för närvarande aktiva moduler och spara den för framtida referens ifall du inaktiverar något som behövs och du måste återaktivera det. Inaktivera sedan helt enkelt moduler en i taget med kommandot (med moduleName som exempel):

sudo a2dismod moduleName

... och starta om Apache efter varje ändring för att se om något fel uppstår.

Några moduler som du bör inaktivera om du inte behöver dem är:

  • PHP
  • SSL
  • Skriva om
  • Perl
  • Pytonorm

När du har inaktiverat en modul och laddat om Apache-konfigurationen, kan du leta efter fel genom att öppna Apache-felloggen med en textredigerare som nano.

sudo nano /var/log/apache2/error.log

Om du får ett fel är det bara att återaktivera motsvarande modul med:

sudo a2enmod moduleName

Starta sedan om Apache igen tills du får ordning på minimilistan!


2. Ställ in mpm_prefork

Med standard Apache-konfigurationen (som inte är välbalanserad för små servrar) kan minnet tömmas snabbt och din molnserver kan bli överbelastad. Detta gör att webbsidan hänger sig i ett ständigt laddat tillstånd. Det är troligt att servern kommer att hålla dessa döda Apache-processer aktiva och försöka servera innehåll i onödan, vilket minskar antalet tillgängliga processer.

För att lösa det här problemet måste du först ta reda på hur mycket RAM din server behöver förutom Apache och den genomsnittliga mängd minne som Apache-processer använder.

Medan Apache körs, öppna det översta kommandot på servern.

top -bn 1

På resultattabellen:

  • lägg till siffrorna i RES-kolumnen för varje process, utom apache2 och ta sedan bort den från den totala mängden RAM. Låt oss säga att du får 600 MB .
  • medelvärdet från alla apache2-processer . Låt oss säga att skaffa 20 MB .
  • gör sedan divisionen 600/20 = 30 maximala Apache-processer

Nästa steg, redigera mpm_prefork-modulens konfigurationsfil:

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

Det kan se ut så här:

<IfModule mpm_prefork_module>
    StartServers             2
    MinSpareServers          2
    MaxSpareServers          5
    MaxRequestWorkers        30
    MaxConnectionsPerChild   0
</IfModule>

Var:

  • StartServers: antal serverprocesser som ska startas.
  • MinSpareServers: minsta antal serverprocesser som hålls lediga.
  • MaxSpareServers: maximalt antal serverprocesser som hålls lediga.
  • MaxRequestWorkers: maximalt antal serverprocesser som får startas.
  • MaxConnectionsPerChild: maximalt antal förfrågningar som en serverprocess betjänar.

I MaxRequestWorkers- inställningen måste du ändra den till vad du än hittade i divisionen ovan.

Nu, om din VPS blir överbelastad och når det maximala antalet klienter som den kan betjäna på en gång, kommer den att tjäna dessa och andra användare kommer helt enkelt att få ett snabbt misslyckande. De kan sedan ladda om sidan för att försöka igen. Det är mycket bättre att ha dessa anslutningar nära snabbt men lämna servern i ett friskt tillstånd istället för att hänga öppen för alltid.


3. Minska dina loggar

För att maximera prestandan kan du definitivt logga mindre information. I Apache-standardkonfigurationen är LogLevel- inställningen inställd på att varna . Du kan ändra det till fel för att bara behålla felmeddelandena.

Öppna Apache-konfigurationsfilen:

sudo nano /etc/apache2/apache2.conf

Hitta raden:

LogLevel warn

... och ändra det till:

LogLevel error

Spara sedan filen och starta om Apache med:

sudo service apache2 restart

Standardfilen som Apache behåller loggarna är /var/log/apache2/error.log .


4. Överväg att ersätta mod_php

Om du kör en PHP-sajt är chansen stor att du använder mod_php-modulen. Den här modulen kan få varje underordnad Apache-process att använda över 100 MB RAM även om förfrågningarna är för statiska resurser som bilder, css och javascript.

Ett bra alternativ är php-fpm- modulen, som är en separat process som använder fastcgi-protokollet. Med php-fpm kan minnet för Apache-processer sjunka till 10 MB för statiskt innehåll och 60 MB för dynamiskt.

Även om det kan vara lite svårt att få saker att fungera med den här förändringen, är det värt ansträngningen.


5. Överväg att ersätta mpm_prefork

De flesta Apache-konfigurationer använder modulen mpm_prefork som är trådsäker och använder flera underordnade processer med en tråd var och varje process hanterar en anslutning i taget. Om du inte behöver externa moduler som PHP eller Rails kan du ersätta den med modulen apache2-mpm-worker , som ofta är snabbare. Worker MPM använder flera underordnade processer med många trådar i varje och varje tråd hanterar en anslutning i taget.

För att aktivera arbetarmodulen måste du installera den.

sudo apt-get install apache2-mpm-worker

Detta kommando kommer att avinstallera mpm_prefork , mos_php och andra inkompatibla tilläggsmoduler.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer