目次
1. Opcache
を php.ini 設定ファイルに追加します。 new コンパイラ
3. HugePage
4. Opcache ファイル キャッシュ
5. PGO
ホームページ バックエンド開発 PHP7 php7 がどのように最大のパフォーマンスを達成するかを学ぶ

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

Jun 24, 2020 pm 05:41 PM
php7 パフォーマンスの最適化

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

nginxパフォーマンスチューニング:速度と低レイテンシの最適化 nginxパフォーマンスチューニング:速度と低レイテンシの最適化 Apr 05, 2025 am 12:08 AM

NGINXのパフォーマンスチューニングは、ワーカープロセスの数、接続プールサイズの数、GZIP圧縮とHTTP/2プロトコルの有効化、およびキャッシュとロードバランスを使用することで実現できます。 1.ワーカープロセスの数と接続プールサイズを調整します:worker_processesauto;イベント{worker_connections1024;}。 2。GZIP圧縮とhttp/2プロトコルを有効にします:http {gzipon; server {risten43sslhttp2;}}。 3。キャッシュ最適化:http {proxy_cache_path/path/to/cachelevels = 1:2k

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

Apacheのパフォーマンスチューニング:速度と効率の最適化 Apacheのパフォーマンスチューニング:速度と効率の最適化 Apr 04, 2025 am 12:11 AM

Apacheのパフォーマンスを改善する方法は次のとおりです。1。キープライブ設定の調整、2。マルチプロセス/スレッドパラメーターを最適化、3。mod_deflateを使用して圧縮に使用します。これらの戦略により、Apacheサーバーの応答速度と同時処理機能を大幅に改善できます。

MySQLデータベースに接続するApacheの詳細な構成ステップ MySQLデータベースに接続するApacheの詳細な構成ステップ May 16, 2025 pm 10:12 PM

MySQLデータベースに接続するようにApacheを構成するには、次の手順が必要です。1。ApacheとMySQLがインストールされていることを確認してください。 2. httpd.confまたはapache2.confにLoadModuleとAddhandlerの命令を追加して、PHPをサポートするApacheの構成。 3.MySQLに接続するようにPHPを構成するには、php.iniでmysqli拡張機能を有効にします。 4.接続されたPHPファイルを作成してテストします。これらの手順を通じて、ApacheとMySQLの接続を正常に実装できます。

同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? 同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? Apr 01, 2025 pm 03:15 PM

同じシステムで複数のPHPバージョンを同時に実行することは、特に異なるプロジェクトがPHPの異なるバージョンに依存する場合、一般的な要件です。同じようになる方法...

Apple M1チップMACでのRedisのコンパイルとインストールは失敗しました。 PHP7.3コンピレーションエラーのトラブルシューティング方法は? Apple M1チップMACでのRedisのコンパイルとインストールは失敗しました。 PHP7.3コンピレーションエラーのトラブルシューティング方法は? Mar 31, 2025 pm 11:39 PM

Apple M1 Chip MacにRedisをコンパイルおよびインストールする際に遭遇する問題とソリューション、多くのユーザーは...

スケーリングXML/RSS処理:パフォーマンス最適化手法 スケーリングXML/RSS処理:パフォーマンス最適化手法 Apr 27, 2025 am 12:28 AM

XMLおよびRSSデータを処理する場合、次の手順でパフォーマンスを最適化できます。1)LXMLなどの効率的なパーサーを使用して、解析速度を改善します。 2)SAXパーサーを使用して、メモリの使用量を削減します。 3)Xpath式を使用して、データ抽出効率を改善します。 4)処理速度を改善するために、マルチプロセスの並列処理を実装します。

See all articles