PHP7 がリリースされました。この 10 年間で PHP の最大のバージョン アップグレードおよび最大のパフォーマンス アップグレードとして、PHP7 は複数のテストで明らかなパフォーマンスの向上を示しました。ただし、それを機能させるには最大のパフォーマンスを実現するために、いくつか注意すべき点があります。
1. Opcache
Zend Opcache を有効にすることを忘れないでください。 Opcache を有効にしなくても PHP7 は PHP-5.6 よりも高速であるため、前回のテスト期間中に Opcache を有効にしなかった人もいます。Opcache を有効にするのは非常に簡単です。php.ini 設定ファイルに
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1"を追加するだけです。
2. 新しいコンパイラを使用します
##新しいコンパイラを使用します。GCC 4.8 以降を推奨します。これは、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 を例として、512 の予約済み巨大ページ メモリを次のように割り当てます:$sudo sysctl vm.nr_hugepages=512:
$ 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: コードは次のとおりです:
opcache.huge_code_pages=1このようにして、PHP は大きなメモリ ページを使用して独自のテキスト セグメントと大量のメモリ割り当てを保存し、TLB ミスを減らし、パフォーマンスを向上させます。
4. Opcache ファイル キャッシュ
Opcache ファイル キャッシュを有効にする (実験的)。これを有効にすることで、Opcache にオペコード キャッシュを外部にキャッシュさせることができます。一部のスクリプトのファイルには、明らかにパフォーマンスが向上します。php.ini に追加します:
opcache.file_cache=/tmpこのようにして、PHP は /tmp ディレクトリに配置されます。オペコード バイナリをキャッシュします。エクスポート ファイルは、PHP ライフ サイクル全体にわたって存在する可能性があります。
5.PGO
前回の記事: PHP7 を高速化する (GCC PGO) も紹介PHP が WordPress や Drupal など、1 つのプロジェクト専用の場合は、PGO を使用してプロジェクト専用の PHP を改善してみてください。プロジェクトによりパフォーマンスが向上します。具体的には、最適化シナリオとして wordpress 4.1 を使用します。最初に PHP をコンパイルするとき:コードは次のとおりです:$ make prof-gen次に、たとえば WordPress のトレーニング PHP プロジェクトを使用します:コードは次のとおりです:
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/nullつまり、php-cgi を WordPress ホームページ上で 100 回実行し、その過程でいくつかのプロファイル情報を生成します。
最後に:
$ make prof-clean $ make prof-use && make install現時点でコンパイルする PHP7 は、プロジェクトに合わせて調整された最高パフォーマンスのコンパイル済みバージョンです。今はここまでです。後で考えます。付け加えて、皆さんもぜひ試してみてください。ありがとう###
以上がPHP7の最適化とパフォーマンス向上の方法を解説した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。