PHP7 でパフォーマンスを最大化する方法

Guanhui
リリース: 2023-02-17 14:54:01
転載
3428 人が閲覧しました

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

PHP7 VS PHP5.6

1. Opcache

PHP7 が有効であっても、Zend Opcache を有効にすることを忘れないでください。 Opcache を有効にしないことは、PHP-5.6 で Opcache を有効にするよりも高速であるため、前回のテスト期間中に、誰かが 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

私の前回の記事では、PHP7 を高速化するための Hugepage についても紹介しました。まずシステムで HugePages を有効にしてから、Opcache の huge_code_pages を有効にします。

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

$sudo sysctl vm.nr_hugepages=512

予約されたヒュージ ページ メモリ 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 は独自のテキスト セグメントとメモリ割り当てを保存します。Huge は大きなメモリ ページに保存されます。

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

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

Add in php.ini:

opcache.file_cache =/tmp

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

#5. PGO

My前の記事: PHP7 を高速化する (GCC PGO) では、PHP が WordPress や drupal などの 1 つのプロジェクト専用である場合、特に PHP を改善するために PGO を使用できることも紹介しました。プロジェクトのパフォーマンスを向上させるには、

具体的には、最適化シナリオとして wordpress 4.1 を使用します。まず、PHP をコンパイルするときに:

$ make prof-gen

次に、 PHP をトレーニングするためのプロジェクト (WordPress など):

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

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

推奨チュートリアル:「

PHP7

以上がPHP7 でパフォーマンスを最大化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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