ホームページ > バックエンド開発 > PHP7 > PHP7の最適化とパフォーマンス向上の方法を解説した記事

PHP7の最適化とパフォーマンス向上の方法を解説した記事

藏色散人
リリース: 2023-02-18 09:14:01
転載
1923 人が閲覧しました

PHP7 がリリースされました。この 10 年間で PHP の最大のバージョン アップグレードおよび最大のパフォーマンス アップグレードとして、PHP7 は複数のテストで明らかなパフォーマンスの向上を示しました。ただし、それを機能させるには最大のパフォーマンスを実現するために、いくつか注意すべき点があります。

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート