Hvordan aktivere Apache MPM Prefork for å forbedre ytelsen

Slik aktiverer du Apache MPM Prefork for å forbedre ytelsen Få mest mulig ut av Apache-serveren din med mpm_prefork.

Apache-webserveren er en av de mest populære på planeten. Ut av boksen gjør Apache en ganske solid jobb med å håndtere gjennomsnittlig trafikk. Men når du først har begynt å slå den med en overbelastning, under visse omstendigheter som ressurskapasitet og kompleksitet på nettsteder som serveres, kan det hende du synes det sliter litt. Hvis det beskriver hva du opplever, kan MPM-forhåndsmodulen (Multi-Processing Modules) være i orden.

MPM Prefork-modulen bruker en enkelt kontrollprosess som er ansvarlig for å starte barneprosesser. Disse barneprosessene lytter etter forbindelser og serverer dem når de ankommer. MPM Prefork er selvregulerende, så med mindre du trenger mye større overhead, er det veldig liten grunn til å justere standardkonfigurasjonene. Du trenger imidlertid å aktivere denne modulen fordi den er deaktivert utenfor boksen.

Jeg skal vise deg hvordan du aktiverer MPM Prefork-modulen på Apache. Jeg skal demonstrere på Ubuntu Server 18.04.

Hva du trenger

Det eneste du trenger for å aktivere denne modulen er:

  • En kjørende forekomst av Ubuntu Server 18.04
  • Apache er installert og kjører
  • En bruker med sudo-rettigheter
  • En nettverkstilkobling

Hvordan aktivere mpm_prefork

Mest sannsynlig er mpm_prefork-modulen allerede installert på Apache-forekomsten. Ut av boksen er det imidlertid ikke aktivert.

Apache2 har støtte for både prefork og arbeider. Disse er begge MPM-er, men er ganske forskjellige fra hverandre. Forhåndsmodulen oppretter et antall barneprosesser ved lanseringen, hver barneprosess håndterer bare en tråd. Motsatt bruker arbeider barneprosesser som gyver mange tråder per prosess, med hver tråd klar til å ta på seg nye forespørsler. Selv om prefork krever betydelig mer RAM, er det den sikreste modulen og bør brukes når du bruker ikke-tråd-sikre biblioteker.

For å sjekke om forhåndsmodulen er lastet, gir du kommandoen:

 apache2ctl -M | grep prefork 

Hvis du ikke ser noen resultater, lastes ikke prefork. Før du laster den inn, må du først laste av mpm_event-modulen, da de vil komme i konflikt. Hvis du vil fjerne mpm_event, utgir du kommandoen:

 sudo a2dismod mpm_event 

Start Apache på nytt med kommandoen:

 sudo systemctl omstart apache2 

Nå kan du laste mpm_prefork med kommandoen:

 sudo a2enmod mpm_prefork 

Start Apache på nytt med kommandoen:

 sudo systemctl omstart apache2 

Hvordan konfigurere mpm_prefork

Når sjansen til at webserveren ikke trenger betydelig overhead, kan du gjøre justeringer i prefork-konfigurasjonen. For å gjøre dette, gi kommandoen:

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

I den filen ser du følgende alternativer:

 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 150 MaxConnectionsPerChild 0 

Det kan være lurt å støte opp tallene betraktelig, hvis du vet at serveren din kommer til å være under en større belastning (og du har RAM til overs), kan du endre den konfigurasjonen slik:

 StartServers 4 MinSpareServers 3 MaxSpareServers 40 MaxRequestWorkers 200 MaxConnectionsPerChild 10000 

Sørg for å redigere disse tallene i samsvar med hva maskinvaren din kan håndtere og forventet belastning vil kreve. Lagre og lukk filen. Start Apache på nytt med kommandoen:

 sudo systemctl omstart apache2 

På dette tidspunktet er mpm_prefork aktivert og konfigurert. Hvis du er interessert i å teste dette ut, kan du kjøre et Perl-skript. Vær forsiktig når du gjør det, ettersom det er et Perl-skript, og du bare aldri vet det. Faktisk kan det være lurt å laste ned skriptet og kamme gjennom det først (for å se etter eventuelle uklare koder).

Last ned skriptet med denne kommandoen:

 wget https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl 

Når du har sett gjennom det og funnet det pålitelig, kjører du kommandoen:

 sudo perl apache2buddy.pl 

Når kommandoen er fullført, skal du se en rapport om Apaches minnebruk ( figur A ).

Figur A

Post mpm_prefork configuration memory usage.

" data-credit="" rel="noopener noreferrer nofollow">

Legg ut mpm_prefork konfigurasjonsminnebruk.

Og der har du det. Apache mpm_prefork gjør nå sine ting. Sørg for å justere konfigurasjonen din for å dekke behovene i ditt miljø best, og denne modulen vil tjene deg godt.

© Copyright 2020 | mobilegn.com