So aktivieren Sie Apache MPM Prefork, um die Leistung zu verbessern

So aktivieren Sie Apache MPM Prefork zur Verbesserung der Leistung Mit mpm_prefork können Sie Ihren Apache-Server optimal nutzen.

Der Apache-Webserver ist einer der beliebtesten auf dem Planeten. Nach dem Auspacken erledigt Apache einen ziemlich soliden Job im Umgang mit durchschnittlichem Datenverkehr. Sobald Sie jedoch mit einer überdurchschnittlichen Belastung beginnen, kann es unter bestimmten Umständen, wie z. B. der Ressourcenkapazität und der Komplexität der bereitgestellten Websites, zu Problemen kommen. Wenn dies beschreibt, was Sie erleben, ist das Prefork-Modul für Multi-Processing-Module (MPM) möglicherweise in Ordnung.

Das MPM Prefork-Modul verwendet einen einzelnen Steuerungsprozess, der für das Starten untergeordneter Prozesse verantwortlich ist. Diese untergeordneten Prozesse warten auf Verbindungen und dienen ihnen, wenn sie ankommen. MPM Prefork ist selbstregulierend. Wenn Sie also keinen viel größeren Overhead benötigen, gibt es kaum einen Grund, die Standardkonfigurationen anzupassen. Sie müssen dieses Modul jedoch aktivieren, da es sofort deaktiviert ist.

Ich werde Ihnen zeigen, wie Sie das MPM Prefork-Modul unter Apache aktivieren. Ich werde auf Ubuntu Server 18.04 demonstrieren.

Was du brauchen wirst

Die einzigen Dinge, die Sie benötigen, um dieses Modul zu aktivieren, sind:

  • Eine laufende Instanz von Ubuntu Server 18.04
  • Apache installiert und ausgeführt
  • Ein Benutzer mit Sudo-Berechtigungen
  • Eine Netzwerkverbindung

So aktivieren Sie die mpm_prefork

Höchstwahrscheinlich ist das Modul mpm_prefork bereits auf Ihrer Apache-Instanz installiert. Standardmäßig ist es jedoch nicht aktiviert.

Apache2 unterstützt sowohl Prefork als auch Worker. Dies sind beide MPMs, die sich jedoch stark voneinander unterscheiden. Das Prefork-Modul erstellt beim Start eine Reihe von untergeordneten Prozessen. Jeder untergeordnete Prozess verarbeitet nur einen Thread. Umgekehrt verwendet der Worker untergeordnete Prozesse, die viele Threads pro Prozess erzeugen, wobei jeder Thread bereit ist, neue Anforderungen anzunehmen. Obwohl Prefork erheblich mehr RAM benötigt, ist es das sicherste Modul und sollte verwendet werden, wenn nicht threadsichere Bibliotheken verwendet werden.

Geben Sie den folgenden Befehl ein, um zu überprüfen, ob das Prefork-Modul geladen ist:

 apache2ctl -M | grep prefork 

Wenn Sie keine Ergebnisse sehen, wird Prefork nicht geladen. Bevor Sie es laden, müssen Sie zuerst das Modul mpm_event entladen, da es zu Konflikten kommt. Geben Sie zum Entladen von mpm_event den folgenden Befehl ein:

 sudo a2dismod mpm_event 

Starten Sie Apache mit dem folgenden Befehl neu:

 sudo systemctl apache2 neu starten 

Jetzt können Sie mpm_prefork mit dem folgenden Befehl laden:

 sudo a2enmod mpm_prefork 

Starten Sie Apache erneut mit dem folgenden Befehl neu:

 sudo systemctl apache2 neu starten 

So konfigurieren Sie die mpm_prefork

Wenn Ihr Webserver möglicherweise keinen erheblichen Overhead benötigt, können Sie Anpassungen an der Prefork-Konfiguration vornehmen. Geben Sie dazu den folgenden Befehl ein:

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

In dieser Datei sehen Sie die folgenden Optionen:

 StartServer 5 MinSpareServer 5 MaxSpareServer 10 MaxRequestWorkers 150 MaxConnectionsPerChild 0 

Möglicherweise möchten Sie diese Zahlen erheblich erhöhen. Wenn Sie wissen, dass Ihr Server einer größeren Last ausgesetzt sein wird (und Sie über genügend RAM verfügen), können Sie diese Konfiguration folgendermaßen ändern:

 StartServer 4 MinSpareServer 3 MaxSpareServer 40 MaxRequestWorkers 200 MaxConnectionsPerChild 10000 

Stellen Sie sicher, dass Sie diese Nummern entsprechend den Anforderungen Ihrer Hardware und der erwarteten Last bearbeiten. Speichern und schließen Sie die Datei. Starten Sie Apache mit dem folgenden Befehl neu:

 sudo systemctl apache2 neu starten 

Zu diesem Zeitpunkt ist mpm_prefork aktiviert und konfiguriert. Wenn Sie dies testen möchten, können Sie ein Perl-Skript ausführen. Bitte seien Sie dabei vorsichtig, da es sich um ein Perl-Skript handelt und Sie es einfach nie erfahren. Möglicherweise möchten Sie das Skript herunterladen und zuerst durchkämmen (um nach schändlichem Code zu suchen).

Laden Sie das Skript mit diesem Befehl herunter:

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

Führen Sie den folgenden Befehl aus, nachdem Sie ihn durchgesehen und für vertrauenswürdig befunden haben:

 sudo perl apache2buddy.pl 

Nach Abschluss des Befehls sollte ein Bericht über die Speichernutzung von Apache angezeigt werden ( Abbildung A ).

Abbildung A.

Post mpm_prefork configuration memory usage.

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

Verwendung des Konfigurationsspeichers nach mpm_prefork.

Und da hast du es. Apache mpm_prefork macht jetzt seine Sache. Stellen Sie sicher, dass Sie Ihre Konfiguration so anpassen, dass sie den Anforderungen Ihrer Umgebung am besten entspricht. Dieses Modul wird Ihnen gute Dienste leisten.

© Copyright 2020 | mobilegn.com