ホームページ  >  記事  >  バックエンド開発  >  php7 がどのように最大のパフォーマンスを達成するかを学ぶ

php7 がどのように最大のパフォーマンスを達成するかを学ぶ

coldplay.xixi
coldplay.xixi転載
2020-06-24 17:41:203305ブラウズ

php7 がどのように最大のパフォーマンスを達成するかを学ぶ

PHP7 がリリースされました。この 10 年間で PHP の最大のバージョン アップグレードと最大のパフォーマンス アップグレードとして、PHP7 は複数のテストで非常に優れたパフォーマンスを示しました。パフォーマンスの向上は明らかですが、パフォーマンスを最大限に高めるために、いくつか注意していただきたいことがあります。

1. Opcache

Zend Opcache を有効にすることを忘れないでください。Opcache が有効になっていない場合でも、PHP7 は、Opcache が有効になっている PHP-5.6 よりも高速であるため、これは前のテスト中に発生しました。誰もが Opcache を有効にしたことがありません。Opcache を有効にするのは非常に簡単です。

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

を php.ini 設定ファイルに追加します。 new コンパイラ

新しいコンパイラを使用することをお勧めします。GCC 4.8 以降の PHP のみが opline およびexecute_data サポートの Global Register を有効にし、5% のパフォーマンス向上をもたらします (Wordpres で測定) QPS の観点から)

実際には、GCC 4.8 より前のバージョンでもこの機能がサポートされていますが、そのサポートにバグがあることが判明したため、この機能はバージョン 4.8 以降で有効にする必要があります。

3. HugePage

私の以前の記事でも紹介しました: Hugepage を使用して PHP7 を高速化するには、まずシステムで HugePages を有効にし、次に Opcache の huge_code_pages を有効にします。

私の CentOS 6.5 を例に挙げます。 pass:

  1. $sudo sysctl vm.nr_hugepages=512

512 の予約済み巨大ページ メモリを割り当てる:

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

次に、php.ini:

  1.  opcache.huge_code_pages=1

を追加します。このようにして、PHP は大量のメモリを使用します。ページ自体のテキスト セグメントと膨大なメモリ割り当てを保存して、TLB ミスを減らし、パフォーマンスを向上させます。

4. Opcache ファイル キャッシュ

Opcache ファイル キャッシュ (実験的) を有効にします。これをオンにすると、 Opcache を使用すると、オペコードを外部ファイルにキャッシュできます。一部のスクリプトでは、パフォーマンスが大幅に向上します。
php.ini に追加:

  1. opcache.file_cache=/tmp

この方法で、PHP は一部のオペコード バイナリ エクスポート ファイルを /tmp ディレクトリにキャッシュします。これらのファイルは、PHP のライフ サイクル全体にわたって存在する可能性があります。

5. PGO

あなたの PHP が、WordPress や Drupal などの 1 つのプロジェクト専用である場合は、PGO を使用して、そのプロジェクト専用の PHP を改善してみてください。このプロジェクトはパフォーマンスを向上させます。

具体的には、WordPress 4.1まず、PHP をコンパイルするときに:

  1. $ make prof-gen

次に、WordPress などのプロジェクトで PHP をトレーニングします。

  1. うわー つまり、php-cgi で WordPress ホームページを 100 回実行して、その過程でプロファイル情報を生成します。

最後に:

  1. $ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null

    これでコンパイルする PHP7 は、プロジェクトに合わせて調整された最高パフォーマンスのコンパイル済みバージョンです。

推奨チュートリアル: "php ビデオ チュートリアル #"

以上がphp7 がどのように最大のパフォーマンスを達成するかを学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。