Sådan aktiveres Apache MPM Prefork til at forbedre ydelsen

Sådan aktiveres Apache MPM Prefork til at forbedre ydelsen Få mest muligt ud af din Apache-server med mpm_prefork.

Apache-webserveren er en af ​​de mest populære på kloden. Ud af kassen gør Apache et ret solidt arbejde med at håndtere gennemsnitlig trafik. Men når du først begynder at ramme den med en over gennemsnitlig belastning, under visse omstændigheder såsom ressourcekapacitet og kompleksitet af serverede websteder, kan du opleve, at det kæmper lidt. Hvis det beskriver, hvad du oplever, er MPM-præforkodulet (Multi-Processing Modules) muligvis i orden.

MPM Prefork-modulet bruger en enkelt kontrolproces, der er ansvarlig for at starte børneprocesser. Disse børneprocesser lytter til forbindelser og tjener dem, når de ankommer. MPM Prefork er selvregulerende, så medmindre du har brug for en meget større overhead, er der meget lidt grund til at justere dets standardkonfigurationer. Du skal dog aktivere dette modul, da det er deaktiveret ud af boksen.

Jeg vil vise dig, hvordan du aktiverer MPM Prefork-modulet på Apache. Jeg demonstrerer på Ubuntu Server 18.04.

Hvad du har brug for

De eneste ting, du har brug for for at aktivere dette modul, er:

  • En kørende forekomst af Ubuntu Server 18.04
  • Apache installeret og kører
  • En bruger med sudo-privilegier
  • En netværksforbindelse

Sådan aktiveres mpm_prefork

Mest sandsynligt er mpm_prefork-modulet allerede installeret på din Apache-forekomst. Uden for kassen er det dog ikke aktiveret.

Apache2 har support til både prefork og arbejder. Disse er begge MPM'er, men er meget forskellige fra hinanden. Preork-modulet opretter et antal underordnede processer ved lanceringen, hver underordnede proces håndterer kun en tråd. Omvendt bruger arbejdstager børneprocesser, der spawn mange tråde per proces, med hver tråd klar til at tage nye anmodninger. Selvom prefork kræver betydeligt mere RAM, er det det sikreste modul og bør anvendes, når du bruger ikke-tråd-sikre biblioteker.

For at kontrollere, om prefork-modulet er indlæst, skal du udstede kommandoen:

 apache2ctl -M | grep prefork 

Hvis du ikke ser nogen resultater, indlæses ikke prefork. Inden du indlæser det, skal du først fjerne mpm_event-modulet, da de kommer i konflikt. For at fjerne mpm_event skal du udstede kommandoen:

 sudo a2dismod mpm_event 

Genstart Apache med kommandoen:

 sudo systemctl genstart apache2 

Nu kan du indlæse mpm_prefork med kommandoen:

 sudo a2enmod mpm_prefork 

Genstart igen Apache med kommandoen:

 sudo systemctl genstart apache2 

Sådan konfigureres mpm_prefork

På den off-chance, at din webserver behøver en betydelig omkostning, kan du foretage justeringer af prefork-konfigurationen. For at gøre dette skal du udstede kommandoen:

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

I denne fil ser du følgende indstillinger:

 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 150 MaxConnectionsPerChild 0 

Du ønsker måske at forhøje disse numre markant, hvis du ved, at din server kommer til at være under en større belastning (og du har RAM til overs), kan du ændre den konfiguration sådan:

 StartServers 4 MinSpareServers 3 MaxSpareServers 40 MaxRequestWorkers 200 MaxTilslutningerPerChild 10000 

Sørg for at redigere disse numre alt efter hvad din hardware kan håndtere, og den forventede belastning vil kræve. Gem og luk filen. Genstart Apache med kommandoen:

 sudo systemctl genstart apache2 

På dette tidspunkt er mpm_prefork aktiveret og konfigureret. Hvis du er interesseret i at teste dette ud, kan du køre et Perl-script. Vær forsigtig, når du gør det, da det er et Perl-script, og du bare aldrig ved. Faktisk vil du måske downloade scriptet og kamme det igennem først (for at kontrollere, om der er nogen ubehagelige kode).

Download scriptet med denne kommando:

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

Når du har kigget igennem det og fundet det pålideligt, skal du køre kommandoen:

 sudo perl apache2buddy.pl 

Når kommandoen er afsluttet, skal du se en rapport om Apaches hukommelsesforbrug ( figur A ).

Figur A

Post mpm_prefork configuration memory usage.

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

Send mpm_prefork-hukommelsesanvendelse.

Og der har du det. Apache mpm_prefork gør nu sine ting. Sørg for at justere din konfiguration, så den bedst opfylder dine miljøbehov, og dette modul tjener dig godt.

© Copyright 2021 | mobilegn.com