Heim php教程 PHP开发 Apache-Leistungsoptimierung (4)

Apache-Leistungsoptimierung (4)

Dec 21, 2016 am 11:26 AM

Das Folgende ist der Standardkonfigurationsabschnitt von Prefork:

StartServers 5 //

MinSpareServers 5 // Eine Mindestanzahl von Leerlaufprozessen wird festgelegt.

MaxSpareServers 10 //Legen Sie die maximale Anzahl inaktiver Prozesse fest. Wenn die Anzahl inaktiver Prozesse größer als dieser Wert ist, beendet Apache automatisch einige redundante Prozesse. Stellen Sie diesen Wert nicht zu groß ein. Wenn der Wert jedoch kleiner als „MinSpareServers“ ist, passt Apache ihn automatisch auf „MinSpareServers+1“ an. Wenn die Site-Auslastung hoch ist, sollten Sie die Erhöhung von MinSpareServers und MaxSpareServers in Betracht ziehen.

MaxClients 150 // MaxClients ist die wichtigste dieser Anweisungen. Sie legt die Anforderungen fest, die Apache gleichzeitig verarbeiten kann, und ist der Parameter, der den größten Einfluss auf die Apache-Leistung hat. Der Standardwert von 150 reicht bei weitem nicht aus. Wenn die Gesamtzahl der Anfragen diesen Wert erreicht hat (kann durch ps -ef|grep http|wc -l bestätigt werden), werden nachfolgende Anfragen in die Warteschlange gestellt, bis eine verarbeitete Anfrage abgeschlossen ist. . Dies ist der Hauptgrund dafür, dass viele Systemressourcen übrig sind, der HTTP-Zugriff jedoch sehr langsam ist. Systemadministratoren können diesen Wert basierend auf der Hardwarekonfiguration und den Lastbedingungen dynamisch anpassen. Obwohl theoretisch umso mehr Anfragen verarbeitet werden können, je größer dieser Wert ist, darf der Standardgrenzwert von Apache nicht größer als 256 sein (abgeleitet von #define DEFAULT_SERVER_LIMIT 256 in 2.0). Wenn dieser Wert auf mehr als 256 eingestellt ist, wird Apache nicht gestartet. Tatsächlich reicht 256 für Standorte mit etwas schwereren Lasten nicht aus. In Apache 1.3 ist dies eine harte Grenze. Wenn Sie diesen Wert erhöhen möchten, müssen Sie in src/include/httpd.h unter dem Quellcodebaum, der vor „configure“ manuell geändert wurde, nach 256 suchen und finden die Zeile „#define HARD_SERVER_LIMIT 256“. Ändern Sie 256 in den Wert, den Sie erhöhen möchten (z. B. 4000), und kompilieren Sie dann Apache neu. Die ServerLimit-Direktive wurde neu zu Apache 2.0 hinzugefügt, sodass MaxClients erhöht werden kann, ohne Apache neu zu kompilieren. Wenn Sie ServerLimit verwenden, fügen Sie hier einfach eine separate Zeile hinzu. Wenn der Wert von ServerLimit den hier definierten Wert 20000 überschreitet, müssen Sie server/mpm/prefork/prefork.c #define MAX_SERVER_LIMIT 20000 ändern. Ändern Sie 20000 in einen größeren Wert.

MaxRequestsPerChild 0 //Legen Sie die Anzahl der Anfragen fest, die jeder untergeordnete Prozess verarbeiten kann. Jeder untergeordnete Prozess wird nach der Verarbeitung von „MaxRequestsPerChild“-Anfragen automatisch zerstört. 0 bedeutet unendlich, das heißt, der untergeordnete Prozess wird niemals zerstört. Obwohl die Standardeinstellung 0 es jedem untergeordneten Prozess ermöglicht, mehr Anfragen zu verarbeiten, hat die Einstellung auf einen Wert ungleich Null auch zwei wichtige Vorteile: Sie kann versehentliche Speicherlecks verhindern und die Anzahl der untergeordneten Prozesse automatisch reduzieren, wenn die Serverlast abnimmt . Nummer.

Das Arbeitsprinzip von Worker besteht darin, dass der Hauptsteuerungsprozess „StartServers“-Unterprozesse generiert, und zwar jeweils Unterprozess Enthält eine feste Anzahl von ThreadsPerChild-Threads, und jeder Thread verarbeitet Anforderungen unabhängig. Ebenso, um bei eingehenden Anfragen keine Threads zu erzeugen.

Die Anzahl der Threads, die jeder Prozess haben kann, ist festgelegt. Der Server passt sich an, um die Anzahl der Prozesse je nach Auslastungsbedingungen zu erhöhen oder zu verringern. Für die Einrichtung der untergeordneten Prozesse ist ein einzelner Controllingprozess verantwortlich. Jeder untergeordnete Prozess kann eine feste Anzahl von Threads erstellen, die durch ThreadsPerChild angegeben wird. Anschließend überwacht und verarbeitet ein separater Thread eingehende Verbindungen.

Apache versucht immer, einen freien oder inaktiven Service-Thread-Pool aufrechtzuerhalten. Auf diese Weise muss der Client nicht auf die Einrichtung des Threads oder Prozesses warten, bevor er verarbeitet werden kann. Die Anzahl der ursprünglich erstellten Prozesse wird durch die StartServers-Direktive bestimmt. Anschließend erkennt Apache die Gesamtzahl der inaktiven Threads in allen Prozessen und erstellt oder beendet Prozesse, um die Gesamtzahl innerhalb des durch MinSpareThreads und MaxSpareThreads angegebenen Bereichs zu halten. Da es sich bei diesem Prozess um eine Selbstoptimierung handelt, besteht kaum Bedarf, die Standardwerte dieser Anweisungen zu ändern. Die maximale Anzahl von Clients, die gleichzeitig verarbeitet werden können, hängt von der MaxClients-Direktive ab, und die maximale Anzahl von eingerichteten Prozessen hängt von der ServerLimit-Direktive ab. ServerLimit multipliziert mit ThreadsPerChild muss größer oder gleich MaxClients sein.

Das Obige ist der Inhalt der Apache-Leistungsoptimierung (4). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So setzen Sie das CGI -Verzeichnis in Apache So setzen Sie das CGI -Verzeichnis in Apache Apr 13, 2025 pm 01:18 PM

Um ein CGI-Verzeichnis in Apache einzurichten, müssen Sie die folgenden Schritte ausführen: Erstellen Sie ein CGI-Verzeichnis wie "CGI-bin" und geben Sie Apache-Schreibberechtigungen. Fügen Sie den Block "scriptalias" -Richtungsblock in die Apache-Konfigurationsdatei hinzu, um das CGI-Verzeichnis der URL "/cgi-bin" zuzuordnen. Starten Sie Apache neu.

So starten Sie Apache So starten Sie Apache Apr 13, 2025 pm 01:06 PM

Die Schritte zum Starten von Apache sind wie folgt: Installieren Sie Apache (Befehl: sudo apt-Get-Get-Installieren Sie Apache2 oder laden Sie ihn von der offiziellen Website herunter). (Optional, Linux: sudo systemctl

So überprüfen Sie die Debian OpenSSL -Konfiguration So überprüfen Sie die Debian OpenSSL -Konfiguration Apr 12, 2025 pm 11:57 PM

In diesem Artikel werden verschiedene Methoden eingeführt, um die OpenSSL -Konfiguration des Debian -Systems zu überprüfen, um den Sicherheitsstatus des Systems schnell zu erfassen. 1. Bestätigen Sie zuerst die OpenSSL -Version und stellen Sie sicher, ob OpenSSL installiert wurde und Versionsinformationen. Geben Sie den folgenden Befehl in das Terminal ein: Wenn OpenSslversion nicht installiert ist, fordert das System einen Fehler auf. 2. Zeigen Sie die Konfigurationsdatei an. Die Hauptkonfigurationsdatei von OpenSSL befindet sich normalerweise in /etc/ssl/opensl.cnf. Sie können einen Texteditor (z. B. Nano) verwenden: Sudonano/etc/ssl/openSSL.cnf Diese Datei enthält wichtige Konfigurationsinformationen wie Schlüssel-, Zertifikatpfad- und Verschlüsselungsalgorithmus. 3.. Verwenden Sie OPE

So löschen Sie mehr als Servernamen von Apache So löschen Sie mehr als Servernamen von Apache Apr 13, 2025 pm 01:09 PM

Um eine zusätzliche Servername -Anweisung von Apache zu löschen, können Sie die folgenden Schritte ausführen: Identifizieren und löschen Sie die zusätzliche Servername -Richtlinie. Starten Sie Apache neu, damit die Änderungen wirksam werden. Überprüfen Sie die Konfigurationsdatei, um Änderungen zu überprüfen. Testen Sie den Server, um sicherzustellen, dass das Problem behoben ist.

So verwenden Sie Debian Apache -Protokolle, um die Website der Website zu verbessern So verwenden Sie Debian Apache -Protokolle, um die Website der Website zu verbessern Apr 12, 2025 pm 11:36 PM

In diesem Artikel wird erläutert, wie die Leistung der Website verbessert wird, indem Apache -Protokolle im Debian -System analysiert werden. 1. Log -Analyse -Basics Apache Protokoll Datensätze Die detaillierten Informationen aller HTTP -Anforderungen, einschließlich IP -Adresse, Zeitstempel, URL, HTTP -Methode und Antwortcode. In Debian -Systemen befinden sich diese Protokolle normalerweise in /var/log/apache2/access.log und /var/log/apache2/error.log verzeichnis. Das Verständnis der Protokollstruktur ist der erste Schritt in der effektiven Analyse. 2. Tool mit Protokollanalyse Mit einer Vielzahl von Tools können Apache -Protokolle analysiert: Befehlszeilen -Tools: GREP, AWK, SED und andere Befehlszeilen -Tools.

So stellen Sie eine Verbindung zur Datenbank von Apache her So stellen Sie eine Verbindung zur Datenbank von Apache her Apr 13, 2025 pm 01:03 PM

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

So sehen Sie Ihre Apache -Version an So sehen Sie Ihre Apache -Version an Apr 13, 2025 pm 01:15 PM

Es gibt 3 Möglichkeiten, die Version auf dem Apache -Server anzuzeigen: Über die Befehlszeile (apachect -v- oder apache2CTL -v) überprüfen Sie die Seite Serverstatus (http: // & lt; Server -IP- oder Domänenname & GT;/Server -Status) oder die Apache -Konfigurationsdatei (Serversion: Apache/& lt; Versionsnummer & GT;).).

Was tun, wenn der Port Apache80 belegt ist Was tun, wenn der Port Apache80 belegt ist Apr 13, 2025 pm 01:24 PM

Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

See all articles