Heim  >  Artikel  >  Backend-Entwicklung  >  Die umfassendste Konfigurationslösung zur Optimierung der PHP-Serverleistung

Die umfassendste Konfigurationslösung zur Optimierung der PHP-Serverleistung

Original
2017-11-29 13:08:522917Durchsuche

Wenn Sie PHP für die Entwicklung verwenden und tolle Programme entwickeln möchten, wie machen wir das? Um ein Programm mit guter Leistung zu entwickeln, spielt der Server tatsächlich eine entscheidende Rolle. Deshalb wird Ihnen der Herausgeber heute eine Reihe von

PHP-Serverkonfigurationsplänen vorstellen.

[1] In Bezug auf die Wahl des Betriebssystems
ist die Leistung von PHP unter Linux/FreeBSD besser als unter Windows-Hosts. Wenn Sie keinen Grund haben, einen Windows-Host zu verwenden (Sie müssen beispielsweise ASP.net oder SQL Server oder Windows Media Server oder Serv-U verwenden), dann empfehle ich Ihnen die Verwendung von Linux/FreeBSD.
Wenn Sie Windows verwenden müssen, wird die Verwendung von Windows 2003 32-Bit Enterprise Edition empfohlen (schlechte Leistung).
Wenn Sie Linux verwenden müssen, wird die Verwendung von RedHat Enterprise Linux empfohlen (die neueste Version ist RedHat Enterprise Linux 4 Beta1).
Wenn Sie FreeBSD verwenden müssen, wird empfohlen, die neueste Version FreeBSD 5.2.1 zu verwenden.
Wenn MySQL und Web getrennt sind, wird empfohlen, das Linux-System für den MySQL-Host zu verwenden, das über LinuxThread eine gute Leistung erzielen kann (LinuxThread kann auch unter FreeBSD installiert werden, ist jedoch problematischer)
[ 2] Über die Wahl des Webservers
Wenn Sie Windows verwenden, wird die Verwendung von IIS6.0 empfohlen, Apache wird nicht empfohlen (schlechte Leistung).
Wenn Sie Linux/FreeBSD verwenden, wird die Verwendung von Zeus oder Apache empfohlen (die neueste Version von Apache ist 2.0.52/1.3.33).
Hinweis: Die neueste Version von Zeus, Version 4.3, unterstützt FreeBSD Version 5.0 noch nicht.
Zeus Web Server ist derzeit die leistungsstärkste, schnellste, leistungsstärkste, druckresistenteste und sicherste Webserver-Software der Welt. Es handelt sich jedoch um eine kommerzielle Software und ist relativ teuer (Unterstützung von Dual-Xeons und Aktivierung). Hyper-Threading kostet 2.200 US-Dollar. Geknackte Versionen von Zeus 4.3 für Linux und FreeBSD 4.x können online heruntergeladen werden. Viele große Foren in China, in denen Zehntausende Menschen auf einem einzigen Host online sind, verwenden hauptsächlich Zeus, und der Systemverbrauch ist viel geringer als der von Apache. Gleichzeitig unterstützt Zeus den Server-Lastausgleich, indem mehrere Hosts Super-Scale-Sites unterstützen, indem sie Zeus Load Balancer verwenden.
Auf der Website von Zeus können Sie eine 30-Tage-Testversion kostenlos herunterladen (eigentlich besteht der einzige Unterschied zur gecrackten Version in der Autorisierungsdatei). Anweisungen zur Verwendung finden Sie unter:
[3] Informationen zur Auswahl des PHP-Ausführungsmodus

Windows-Hosts müssen die Vollversion von PHP installieren. Sie können zur Installation nicht das von php.net bereitgestellte Installationsprogramm verwenden es, sollte es aber manuell installieren. Wenn Sie die Unicode-Codierung (UTF-8) verwenden müssen und es sich um die Version php4.3.x unter Windows handelt, müssen Sie die Funktionsbibliothek iconv() separat laden (extension_dir muss in php.ini korrekt eingestellt sein, z. B as extension_dir = "C:/php/ extensions/"
, und Sie müssen das ;-Zeichen vor der Zeile ;extension=php_iconv.dll entfernen und c:/php/dlls/iconv.dll nach kopieren c:/windows/system32-Verzeichnis.
Hinweis: Die php5.x-Version muss nicht so eingestellt werden und kann auch nicht so eingestellt werden) und der Linux/FreeBSD-Host muss den iconv-Parameter hinzufügen (./configure--with-iconv ) beim Kompilieren von PHP.
Wenn Sie unter Windows IIS verwenden, wird empfohlen, ISAPI zum Ausführen zu verwenden. Verwenden Sie niemals CGI zum Ausführen. Sie können auch FastCGI verwenden (Sie müssen das FastCGI-Modul herunterladen und viele Konfigurationen vornehmen), was eine bessere Leistung bietet. Wenn Sie zwei Beschleuniger (Zend Optimizer, MMCache) gleichzeitig verwenden, kann es nach dem Testen nahe kommen Die Leistung von Zend unter FreeBSD ist relativ schlecht, aber die Stabilität, die ich getestet habe, kann dazu führen, dass der Thread irgendwann abstürzt und nicht mehr darauf zugreifen kann Die einzige Lösung besteht darin, den Server neu zu starten.
Wenn Sie unter Linux/FreeBSD Apache als Webserver verwenden, wird empfohlen, PHP als Apache-Modul auszuführen. Wenn Sie Zeus als Webserver verwenden, müssen Sie FastCGI verwenden, um PHP auszuführen. Beim Stoppen von zeus kann es jedoch zu Problemen kommen, sodass die PIDFILE nicht gelöscht werden kann Wenn Sie FastCGI das nächste Mal starten, schlägt der Start fehl. Wenn ein fehlerhafter Gateway-Fehler auftritt, müssen Sie überprüfen, ob die PIDFILE gelöscht wurde. Wenn nicht, löschen Sie sie manuell und starten Sie Zeus neu. Am besten verwenden Sie crontab, um FastCGI regelmäßig automatisch neu zu starten.
Was das Problem von FastCGI betrifft, so läuft es auf einigen Hosts normal und es wird mehrere Monate lang keine Probleme geben. Einige Hosts sind jedoch häufiger anzutreffen, ob Windows oder Linux/FreeBSD, es hängt von Ihrem Glück ab.

[4] Bezüglich der Auswahl an kostenlosen PHP-Beschleunigern
     
Zu den kostenlosen Beschleunigern, die verwendet werden können, gehören hauptsächlich Zend Optimizer, Turck MMcache und ionCube PHP Accelerator.
(1)Zend Optimizer
Offizielle Website
Neueste Version 2.5.5
Download-Adresse
(2)Turck MMCache
Offizielle Website
Neueste Version 2.4.6 für PHP v4 .3.4/5.0.0b2
Download-Adresse
Es ist zu beachten, dass die neueste Version von PHP 4.3.9/5.0.2 ist. Wenn Sie also Turck MMCache unter der neuesten Version von PHP verwenden müssen, benötigen Sie um es separat zu kompilieren. Ich habe die für das kompilierte Turck MMCache v2.4.7 CVS für PHP v4.3.9 und Turck MMCache v2.4.7 CVS für PHP v5.0.2 erforderlichen Dateien im Anhang dieses Themas hochgeladen. Installieren Sie zuerst MMCache 2.4.6 und benennen Sie das dann um Datei im komprimierten Paket, das ich für mmcache.dll bereitgestellt habe, und ersetzen Sie die alte Datei. Hinweis: Diese beiden Dateien gelten nur für Windows-Hosts, Sie müssen MMCache separat kompilieren.
Es ist jedoch zu beachten, dass die Version von MMCache für PHP5.0.2 Fehler aufweist, wenn sie unter PHP 5.0.2 verwendet wird. Es wird empfohlen, MMCache vorerst nicht unter PHP5.0.2 zu verwenden.
(3) ionCube PHP Accelerator (PHPA)
Offizielle Seite
Die neueste Version 1.3.3r2 erstellt für PHP 4.3.0
Diese Software kann nur unter Solaris/FreeBSD/Linux verwendet werden und nicht unterstützt Windows und unterstützt nicht die neueste Version von PHP. Zend Optimizer und Turck MMcache unterstützen verschiedene Server (Windows/Linux/FreeBSD), verschiedene Webserver (IIS/Apache/Zeus) und verschiedene PHP-Versionen. Ich empfehle daher nicht, diese Software zu verwenden.
[5] Zur Auswahl der kostenpflichtigen PHP-Beschleuniger.                                                                                                                                               
Die wichtigsten kostenpflichtigen Beschleuniger, die Verwendbar sind Zend WinEnabler und Zend Performance Suite.
(1)Zend WinEnabler
Offizielle Website
Aus irgendeinem unbekannten Grund wurden auf der offiziellen Website von Zend plötzlich alle mit dieser Software verbundenen Webseiten gelöscht. Steht diese Software nicht mehr zum Verkauf? Dies ist die Version der Zend Performance Suite unter Windows. Sie verwendet FastCGI zur Ausführung von PHP, daher ist die Stabilität wahrscheinlich nicht garantiert.
(2) Zend Performance Suite
Offizielle Website
Neueste Version 4.0
Diese Software kann nur unter Linux/FreeBSD verwendet werden und unterstützt Apache und Zeus. Es wird gesagt, dass es die Geschwindigkeit von PHP-Programmen um das Zwanzigfache steigern kann, aber der Preis ist relativ hoch und beginnt bei 1.875 US-Dollar. Sie können die gecrackte Version online herunterladen, es handelt sich jedoch um Version 3.6.0/3.5.0 und unterstützt PHP 5.0 nicht. Funktionen von Zend Accelerator und früheren Zend Cache sind in diesem Paket enthalten. Hinweis: Wenn Sie diese Software zum Zwischenspeichern von PHP-Programmen verwenden, ist für jede Änderung an der Datei ein Neustart des Webservers erforderlich, damit sie wirksam wird.
[6] Über die Installation von MySQL
    
Es wird empfohlen, MySQL Version 4.0.x/4.1.x zu installieren. Die neueste Version ist 4.0.22/4.1.17. MySQL 4.0 und höher können den Abfrage-Cache verwenden, um die Leistung erheblich zu verbessern (muss in my.ini festgelegt werden). MySQL 4.1 oder höher übernimmt ein neues Protokoll, das die Geschwindigkeit um mehr als 30 % erhöht und weniger Speicher beansprucht.
Für die MySQL4.1.x-Version bietet PHP 5.x zusätzlich zur ursprünglichen MySQL-Erweiterung eine proprietäre MySQL4.1.x-Version, um auf diese Weise unter MySQL4.1.x eine Verbindung herzustellen Die Verwendung der MySQL-Erweiterung ist relativ. Die Verwendung der MySQL-Erweiterung kann die Geschwindigkeit von SQL-Vorgängen um ein Vielfaches erhöhen. Das Ultimate Forum-Programm wird mit der MySQL-Erweiterung geliefert. Wir bieten auch das separat erhältliche Ultimate Forum-MySQL-Erweiterungsmodul an, das Sie erwerben und verwenden können.
Für Windows-Hosts installieren Sie einfach mysqld-nt. Es ist nicht erforderlich, mysqld-max-nt zu verwenden.
Hinweis: Wenn Sie MySQL 4.0.x unter Windows ausführen, müssen Sie die folgenden SQL-Vorgänge für jede Datentabelle manuell ausführen, um sicherzustellen, dass Ihre Datenbank stabil ist und keine Datentabellenfehler auftreten:

ALTER TABLE table_name type=MyISAM;

Wobei Tabellenname der Name der Datentabelle ist.
Für Linux-Hosts können Sie glibc installieren, die neueste Version ist 2.3.3, die Adresse herunterladen und dann die darin enthaltenen LinuxThreads installieren. Weitere Informationen finden Sie unter
Für FreeBSD-Hosts können Sie auch LinuxThreads installieren, die Kompilierung ist jedoch schwieriger.

Der Artikel hat viel Inhalt, aber wenn Sie das beste PHP-Programm entwickeln möchten, müssen Sie diese Optimierungslösungen erlernen, damit das von Ihnen entwickelte Programm für Sie perfekter wird.

Das obige ist der detaillierte Inhalt vonDie umfassendste Konfigurationslösung zur Optimierung der PHP-Serverleistung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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