PHP 7.3のパフォーマンスはどうですか?以下は、PHP の最新バージョンと機能の詳細なテストです。PHP 7.3 は PHP 5 よりも 3 倍以上高速です。
PHP5 の最後のバージョンであり、現在最も広く使用されている PHP バージョンである PHP 5.6 は、西暦 2014 年 (1804 年ではありません、笑) に開始され、最初のベータ版である PHP 5.6 alpha 1 は 2014 年 1 月にリリースされました。最初の大規模なパフォーマンス向上バージョン PHPNG (PHP Next Generation、次世代 PHP) は、主な研究開発に参加した中国人 (Niao 兄弟、Hui Xinchen) によってランダムに生成され、2015 年に PHP 7 バージョンが作成されました。 PHPNGで。 PHP7 は、5.6 の 2 倍の速度で実行するなど、革命的なパフォーマンスの向上をもたらします。また、64 ビットのサポート、型宣言、ランタイムの最適化などのその他の改善も行われています。 2015 年以来、公式は全員にできるだけ早く php7 にアップグレードすることを推奨していますが、当時はまだ拡張サポートに大きな問題がありました。
最新の W3techs 統計によると、PHP 7 は現在 PHP シェアの 16.6% 以上を占めています。 全体として、PHP は依然としてサーバーサイド Web 開発言語の大部分のシェアを約 83% 保持しています。
PHP 開発サポートサイクルによると、PHP 5.6 は今年 12 月 31 日以降、正式なサポートを終了します。したがって、PHP を PHP7 にアップグレードできる期間は残り半年しかありません。その後、PHP5 の運命は終わりを迎えますが、実際のところ、現在ほとんどのフレームワークやプログラムは PHP7 を完全にサポートしています。
パフォーマンステスト: PHP 7.3 は PHP 7.0 より 25% 高速です
PHP 7 は PH P よりも優れているということ5.6 は少なくとも 2 倍高速です。以下は主要な PHP フレームワークのパフォーマンス比較表です:
以下の最新の Phoronix ベンチマーク結果は、PHP 7 のリリース以降の PHP 7 のパフォーマンス比較を示しています。 PHP 7 の初期バージョンと比較して、最新バージョンの PHP 7.3 Alpha のパフォーマンスの向上も非常に客観的です。最新のデータによると、PHP 7.3 は PHP 5.6 よりも 3 倍高速です。 PHP 7.0 より 25% 高速です。言うまでもなく、この性能比較表は、暑い夏に少し涼しさをもたらすことができます。また、これはコストにも直接反映されます。たとえば、Badoo は PHP7 にアップグレードすると、年間約 100 万米ドルを節約できます。
Badoo会社データ:
PHP 7互換ラインチェック
現時点では、基本的にほとんどの PHP が完璧に使用できます PHP7.0サポートされています。しかし、たまたま履歴から残っているスクリプトやプログラムがあるかもしれないので、コミュニティには互換性チェックや直接コード変換のためのツールがすでにたくさんあります。
php7cc: 非常に優れたツールです。ツールですが、もう更新されていません。 (github アドレス: /sstalle/php7cc)
php7mar: PHP 7 移行アシスタント、Chongchong が強く推奨するツール。 (github アドレス: /Alexia/php7mar)
使用法:
php mar.php -f="/path/to/project/root/" -r="/path/ to /output/"
phan: PHP スクリプトの静的アナライザー。 PHP 7 の構文チェッカーとして使用できます。 (github アドレス: /phan/phan)
使用法: phan --project-root-directory --progress-bar -o phan.out
phpstan - PHP 静的解析と互換性 Sexテストツール。 (github アドレス: /phpstan/phpstan)
PHP 7 のパフォーマンス設定の重要なポイント
1. OpCache
まず、Opcache が有効になっていることを確認します。これは、メイン設定ファイル php.ini またはその固有の設定ファイル opcache.ini ファイル (/etc/php/7.2/fpm/conf.d/10-opcache.ini など) を通じて実行できます。セットアップします。
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
phpinfo() を使用して確認するか、ターミナル コマンド
php -v または php -i を使用して確認することができます。 PHP OpCache が有効になっています。多くの ln(a)mp パッケージには、以下に示すように、システム パフォーマンスをリアルタイムで監視できる opCache 監視スクリプトがあります
2。適切な realpath_cache_size 値を設定すると、サーバーの同時実行性が向上します:
realpath_cache_size = 256k
realpath_cache_ttl = 300
mysql nd.collect_statistics = オフ
mysqlnd.collect_memory_statistics = Off
オンライン サーバーは、不必要なデータベース アクセスを減らすために、これら 2 つのオプションを無効にすることを選択します。関連する統計が必要な場合は、MySQL ツールまたはモニタリングを使用できます。
4. 新しいコンパイラの使用
PHP は、GCC 4.8 コンパイラでコンパイルする場合にのみ、opline およびexecute_data のグローバル レジスタを有効にできます。これにより、パフォーマンスが 5% 向上します。
5. Transparent HugePage をオンにする
メモリはデフォルトで 4KB ごとにページングされ、仮想アドレスとメモリアドレスを変換する必要があり、変換プロセスを高速化するために、次の方法を使用できます。メモリ TLB (Translation Lookaside) Buffer) が付属します。したがって、大きなメモリ ページを有効にすると、TLB キャッシュ ヒットが増加し、パフォーマンスが向上します。
システム サポートの設定:
sysctl vm.nr_hugepages=512
php.ini サポートの追加
opcache.huge_code_pages=1
この値については、多くの実践により、大きなページの透過的な送信を有効にすると過度のシステム負荷が発生することが判明しています。高の場合、過剰な CPU 使用率の問題はオフにすることで解決できます。したがって、このパラメータは実際の状況に応じて考慮およびテストする必要があります。
6. PGO をオンにする
PHP は、Wordpress や Drupal サイトなどのプロジェクトを提供するように特別に設計されているため、PGO を使用してパフォーマンスを向上させることができます。