Apache-optimointi Low End VPS:lle Ubuntu 14.04:ssä

Apache on erittäin helppo asentaa ja alustaa, mutta siinä on esiasennettuna lukuisia moduuleja, minkä seurauksena saatat kohdata suorituskykyongelmia käytettäessä VPS:ää, jossa on vähän RAM-muistia.

Aina ei siis tarvita suurempaa palvelinta, vaan voit yksinkertaisesti määrittää Apachen asetukset oikein ja saada parhaan mahdollisen suorituskyvyn. Tässä on muutamia asioita, jotka sinun tulee tehdä saavuttaaksesi sen.

Tämä opetusohjelma on tarkoitettu Ubuntu 14.04 LTS:lle, mutta periaatteet ovat samanlaisia ​​kuin aiemmissakin versioissa.


1. Poista Apache-moduulit käytöstä

Näet luettelon kaikista komennolla asennetuista moduuleista ls /etc/apache2/mods-available/ja kaikista moduuleista, jotka ovat tällä hetkellä aktiivisia komennolla ls /etc/apache2/mods-enabled/.

Ensimmäisessä Apache-asennuksessa on oletuksena käytössä vähintään 15 moduulia. Näitä on liikaa ja useimpia niistä ei tarvita.

Ensinnäkin sinun on tehtävä luettelo kaikista tällä hetkellä aktiivisista moduuleista ja tallennettava se myöhempää tarvetta varten siltä varalta, että poistat jonkin tarpeellisen käytöstä ja sinun on otettava se uudelleen käyttöön. Poista sitten moduulit käytöstä yksitellen komennolla (käyttäen esimerkkinä moduleName):

sudo a2dismod moduleName

... ja käynnistä Apache uudelleen jokaisen muutoksen jälkeen nähdäksesi, tapahtuuko virheitä.

Jotkut moduulit, jotka sinun tulee poistaa käytöstä, jos et tarvitse niitä, ovat:

  • PHP
  • SSL
  • Kirjoita uudelleen
  • Perl
  • Python

Kun olet poistanut moduulin käytöstä ja lataanut Apache-kokoonpanon uudelleen, voit tarkistaa virheet avaamalla Apache-virhelokin tekstieditorilla, kuten nano.

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

Jos saat virheilmoituksen, ota vastaava moduuli uudelleen käyttöön:

sudo a2enmod moduleName

Käynnistä sitten Apache uudelleen, kunnes vähimmäisluettelo on selvitetty!


2. Asenna mpm_prefork

Apache-oletuskokoonpanolla (joka ei ole hyvin tasapainotettu pienille palvelimille) muisti voi tyhjentyä nopeasti ja pilvipalvelimesi voi ylikuormittua. Tämä saa verkkosivun roikkumaan jatkuvasti latautuvassa tilassa. On todennäköistä, että palvelin pitää nämä kuolleet Apache-prosessit aktiivisina yrittäen palvella sisältöä tarpeettomasti, mikä vähentää käytettävissä olevien prosessien määrää.

Tämän ongelman ratkaisemiseksi sinun on ensin selvitettävä, kuinka paljon RAM-muistia palvelimesi tarvitsee Apachen lisäksi ja kuinka paljon muistia Apache-prosessit käyttävät keskimäärin.

Vaikka Apache on käynnissä, avaa ylin komento palvelimelle.

top -bn 1

Tulostaulukossa:

  • lisää RES-sarakkeen numerot jokaiselle prosessille paitsi apache2:lle ja poista se sitten RAM-muistin kokonaismäärästä. Sanotaan saat 600 megatavua .
  • saada keskiarvo kaikista apache2-prosesseista . Sanotaan päästä 20 MB .
  • tee sitten jako 600/20 = 30 Apache-prosessia

Muokkaa seuraavassa vaiheessa mpm_prefork-moduulin konfigurointitiedostoa:

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

Se voi näyttää tältä:

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

Missä:

  • StartServers: aloitettavien palvelinprosessien määrä.
  • MinSpareServers: vähimmäismäärä palvelinprosesseja, jotka pidetään varassa .
  • MaxSpareServers: maksimimäärä palvelinprosesseja, jotka pidetään vapaana.
  • MaxRequestWorkers: suurin sallittu määrä palvelinprosesseja voi käynnistyä.
  • MaxConnectionsPerChild: palvelinprosessin palvelemien pyyntöjen enimmäismäärä.

Vuonna MaxRequestWorkers asetusta, sinun täytyy muuttaa sen mitä löytyy jako edellä.

Nyt, jos VPS ylikuormittuu ja saavuttaa maksimimäärän asiakkaita, joita se voi palvella kerralla, se palvelee niitä ja muut käyttäjät yksinkertaisesti epäonnistuvat nopeasti. He voivat sitten ladata sivun uudelleen ja yrittää uudelleen. On paljon parempi sulkea nämä yhteydet nopeasti, mutta jättää palvelin terveeksi sen sijaan, että se roikkuisi auki ikuisesti.


3. Vähennä lokien määrää

Suorituskyvyn maksimoimiseksi voit ehdottomasti kirjata vähemmän tietoja. Apachen oletuskokoonpanossa LogLevel- asetukseksi on asetettu varoitus . Voit muuttaa sen virheeksi, jos haluat säilyttää vain virheilmoitukset.

Avaa Apache-määritystiedosto:

sudo nano /etc/apache2/apache2.conf

Etsi rivi:

LogLevel warn

... ja muuta se muotoon:

LogLevel error

Tallenna sitten tiedosto ja käynnistä Apache uudelleen:

sudo service apache2 restart

Oletustiedosto, jossa Apache säilyttää lokit, on /var/log/apache2/error.log .


4. Harkitse mod_php:n korvaamista

Jos käytät PHP-sivustoa, on suuri mahdollisuus, että käytät mod_php-moduulia. Tämä moduuli voi saada jokaisen Apache-lapsiprosessin käyttämään yli 100 Mt RAM-muistia, vaikka pyynnöt koskevat staattisia resursseja, kuten kuvia, css ja javascript.

Loistava vaihtoehto on php-fpm- moduuli, joka on erillinen prosessi, joka käyttää fastcgi-protokollaa. Php-fpm:n avulla Apache-prosessien muisti voi pudota 10 megatavuun staattisen sisällön osalta ja 60 megatavuun dynaamisten prosessien osalta.

Vaikka voi olla hieman vaikeaa saada asiat toimimaan tämän muutoksen myötä, se on vaivan arvoista.


5. Harkitse mpm_preforkin korvaamista

Useimmat Apache-kokoonpanot käyttävät mpm_prefork- moduulia, joka on säikeen turvallinen ja käyttää useita aliprosesseja yhdellä säikeellä ja jokainen prosessi käsittelee yhden yhteyden kerrallaan. Jos et tarvitse ulkoisia moduuleja, kuten PHP tai Rails, voit korvata sen apache2-mpm-worker- moduulilla, joka on usein nopeampi. Worker MPM käyttää useita aliprosesseja useilla säikeillä ja jokainen säie käsittelee yhtä yhteyttä kerrallaan.

Työntekijämoduulin käyttöönotto edellyttää, että se asennetaan.

sudo apt-get install apache2-mpm-worker

Tämä komento poistaa mpm_prefork , mos_php ja muut yhteensopimattomat lisäosat .

Jätä kommentti

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja