Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie PHP7 maximale Leistung erzielt

Erfahren Sie, wie PHP7 maximale Leistung erzielt

coldplay.xixi
coldplay.xixinach vorne
2020-06-24 17:41:203402Durchsuche

Erfahren Sie, wie PHP7 maximale Leistung erzielt

PHP7 wurde als größtes Versions-Upgrade und größtes Leistungs-Upgrade von PHP seit 10 Jahren veröffentlicht und hat in mehreren Tests sehr gut abgeschnitten Die Leistungsverbesserung ist offensichtlich, aber um die Leistung zu maximieren, möchte ich Sie dennoch an einige Dinge erinnern.

1. Opcache

Denken Sie daran, Zend Opcache zu aktivieren, da PHP7 auch ohne Opcache schneller ist als PHP-5.6 mit aktiviertem Opcache. Dies geschah also im vorherigen Testzeitraum Jemand hat Opcache noch nie aktiviert. Das Aktivieren von Opcache ist sehr einfach Der Compiler

    verwendet einen neueren Compiler, GCC 4.8 oder höher wird empfohlen, da nur GCC 4.8 oder höher PHP Global Register für Opline- und Execute_Data-Unterstützung aktiviert, was zu einer Leistungsverbesserung von 5 % führt (Wordpres gemessen von aus der QPS-Perspektive)
  1. Tatsächlich wird es auch von Versionen vor GCC 4.8 unterstützt, aber wir haben festgestellt, dass es Fehler in der Unterstützung gibt, daher muss diese Funktion in Version 4.8 oder höher aktiviert werden.

  2. 3. HugePage

In meinem vorherigen Artikel wurde auch Folgendes vorgestellt: Um Ihr PHP7 schneller zu machen, aktivieren Sie HugePages zuerst im System und dann die riesigen_code_pages von Opcache.

Nehmen Sie mein CentOS 6.5 als Beispiel :

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1

512 reservierten großen Seitenspeicher reservieren:

  1. $sudo sysctl vm.nr_hugepages=512

Dann fügen Sie php.ini hinzu:

  1. $ cat /proc/meminfo | grep Huge
    AnonHugePages: 106496 kB
    HugePages_Total: 512
    HugePages_Free: 504
    HugePages_Rsvd: 27
    HugePages_Surp: 0
    Hugepagesize: 2048 kB

Auf diese Weise verwendet PHP große Speicherseiten um eigene Textsegmente und große Speicherzuweisungen zu speichern, um TLB-Fehler zu reduzieren und die Leistung zu verbessern.

    4. Opcache-Dateicache aktivieren (experimentell), indem wir dies aktivieren Lassen Sie Opcache den Opcode-Cache in einer externen Datei zwischenspeichern.
  1. Hinzufügen in php.ini:

  2.  opcache.huge_code_pages=1

Auf diese Weise speichert PHP einige Opcode-Binärexportdateien im Verzeichnis /tmp, die über den gesamten PHP-Lebenszyklus hinweg vorhanden sein können.


5. PGO

    Wenn Ihr PHP ist speziell für ein Projekt gedacht, beispielsweise nur für Ihr WordPress, Drupal oder etwas anderes. Dann können Sie versuchen, PHP speziell für Ihr Projekt zu verbessern.
  1. Insbesondere WordPress 4.1 Wird als Optimierungsszenario verwendet: Zuerst beim Kompilieren von PHP:

opcache.file_cache=/tmp

Dann trainieren Sie PHP mit Ihrem Projekt, zum Beispiel für WordPress:

$ make prof-gen
Das heißt, lassen Sie php-cgi die WordPress-Homepage 100 Mal ausführen, um dabei einige Profilinformationen zu generieren:
  1. $ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null

    An dieser Stelle Zeit Das von Ihnen kompilierte PHP7 ist die kompilierte Version mit der höchsten Leistung, die auf Ihr Projekt zugeschnitten ist.

Empfohlenes Tutorial: „
    PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie PHP7 maximale Leistung erzielt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen