ホームページ >バックエンド開発 >PHP7 >PHP7の高性能をフル活用して良い塩辛になろう

PHP7の高性能をフル活用して良い塩辛になろう

coldplay.xixi
coldplay.xixiオリジナル
2021-02-17 09:11:002312ブラウズ

PHP7の高性能をフル活用して良い塩辛になろう

推奨 (無料): PHP7

小さな PHP ブログでは、PHP の高いパフォーマンスを活用する方法を共有しています。 PHP7 バージョン、PHP7 がリリースされてしばらく経ちますが、まだ PHP5.6 を使用してプロジェクトを開発している友人もたくさんいます。 PHP7 の利点をどう反映すればよいかわからない 説明 PHP7 に関する記事を要約して共有します。

PHP7 を使用するときにその高いパフォーマンスを有効にしたい場合は、次の点に注意する必要があります。

1. Opcache

Be Zend Opcache を必ず有効にしてください。ただし、この拡張機能が有効になっていない場合でも、そのパフォーマンスと速度は PHP5.6 よりもはるかに優れています。 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

システムで HugePages を有効にし、Opcache の huge_code_pages を有効にしてください。これは次のコードで実行できます。

私の CentOS 6.5 を例として、512 の予約ラージ ページ メモリを次のように割り当てます。

  $sudo sysctl vm.nr_hugepages=512

最後に、php.ini を追加します。

  $ cat /proc/meminfo | grep Huge
  AnonHugePages: 106496 kB
  HugePages_Total: 512
  HugePages_Free: 504
  HugePages_Rsvd: 27
  HugePages_Surp: 0
  Hugepagesize: 2048 kB

このようにして、PHP は次のようにします。大きなメモリ ページを使用して、独自のテキスト セグメントと大量のメモリ割り当てを保存し、TLB ミスを減らし、パフォーマンスを向上させます。

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

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

php.ini に

  opcache.huge_code_pages=1

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

5. PGO

PHP が、WordPress や drupal などの独自のプロジェクトを実行するためだけに使用されている場合は、次のことが可能です。 PGO を通じて PHP を改善して、特にプロジェクトのパフォーマンスを向上させてみてください。

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

  opcache.file_cache=/tmp

次に、プロジェクトを使用して、WordPress などの PHP をトレーニングします:

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

つまり、php-cgi で wordpress ホームページを 100 回実行して、その過程でプロファイル情報を生成します。これにより、PHP はこの情報を覚えておいてください。

最後に:

 $ make prof-gen

現時点で、コンパイルする PHP7 は、プロジェクトに合わせて調整された最高パフォーマンスのコンパイル済みバージョンです。

基礎からtp5モール実戦、laravel5.6実戦、swoole、決済インターフェース開発、redis、高同時実行など中・上級学習まで

Wei X: xiaopingguo950321 ペンギン番号: 722584796

以上がPHP7の高性能をフル活用して良い塩辛になろうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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