ホームページ >バックエンド開発 >PHPチュートリアル >PHP7 の最高のパフォーマンスを達成するためのいくつかのヒント
原文 http://www.laruence.com/2015/12/04/3086.html
PHP7 は、過去 10 年間で最大の PHP のバージョンアップとパフォーマンスの向上として、複数のテストで明らかなパフォーマンスの向上を示しましたが、そのパフォーマンスを最大限に高めるために、まだいくつか改善したい点があります。
PHP7 VS PHP5.6
Opcache であっても PHP7 の方が高速であるため、忘れずに有効にしてください。また、Opcache を有効にすると PHP-5.6 よりも高速になるため、前回のテスト期間中に Opcache を有効にするのは非常に簡単で、php に
zend_extension=opcache.soopcache.enable=1opcache.enable_cli=1"
新しいコンパイラを使用します。GCC 4.8 以降の PHP のみが opline およびexecute_data のサポートを有効にし、5 を実現するためです。 % パフォーマンスの向上 (Wordpres の QPS 観点からの測定)
実際には、GCC 4.8 より前のバージョンでもサポートされていますが、サポートにバグがあることが判明したため、この機能はバージョン 4.8 以降で有効にする必要があります。
以前の記事でも紹介しました: Hugepage を使用して PHP7 を高速化するには、まずシステムで HugePages を有効にし、次に Opcache の huge_code_pages を有効にします。私の CentOS 6.5 たとえば、次のように渡します:
512 の予約された巨大なページ メモリを割り当てます:
$sudo sysctl vm.nr_hugepages=512
$ cat /proc/meminfo | grep HugeAnonHugePages: 106496 kBHugePages_Total: 512HugePages_Free: 504HugePages_Rsvd: 27HugePages_Surp: 0Hugepagesize: 2048 kB
このように、PHP は大きなメモリ ページを使用して独自のテキスト セグメントと大量のメモリ割り当てを保存し、TLB ミスを減らし、パフォーマンスを向上させます。
opcache.huge_code_pages=1
4. Opcache ファイル キャッシュを有効にする (実験的)。これを有効にすると、Opcache が外部ファイルにオペコード キャッシュをキャッシュできるようになり、php.ini に次の内容を追加します。
前回の記事: PHP7 を高速化します。 (GCC PGO) また、PHP が WordPress や Drupal などの 1 つのプロジェクト専用である場合、PHP を改善するために、特にプロジェクトのパフォーマンスを向上させるために PGO を試すことができると紹介しました。 🎜>
opcache.file_cache=/tmp具体的には、最適化シナリオとして WordPress 4.1 を使用します。まず、PHP をコンパイルするとき:
つまり、php-cgi で WordPress ホームページを 100 回実行して、その過程でプロファイル情報を生成します。
最後に、
$ make prof-gen
この時点でコンパイルする PHP7 は次のとおりです。あなたのプロジェクトに合わせた最高のパフォーマンスのコンパイル済みバージョンです。
$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
今のところはここまでです。後で思いついたときに追加します。皆さんもぜひ試してみてください。ありがとうございます。
$ make prof-clean $ make prof-use && make install