ホームページ >バックエンド開発 >PHPチュートリアル >PHP 7 のインストールと使用の経験、PHP をアップグレードするときは注意してください
1. PHP 7 の高いパフォーマンスを活用するためのいくつかの重要なポイント
PHP 7 は、以前の PHP バージョンと比較してパフォーマンスが質的に飛躍していると言えますが、いわゆる「優秀な馬」 「良いサドル、良い車」「帆のある」場合、PHP 7 のパフォーマンス上の利点を活用したい場合は、次の点で準備する必要があります: (この部分は、PHP7 コア開発者、Yaf の著者から引用されています) 、Yar、Yac およびその他のプロジェクト: Laruence)。
1. Zend Opcache を有効にすることは非常に簡単です:
zend_extension=opcache.soopcache.enable=1opcache.enable_cli=1"
2. PHP 7 Turn では GCC 4.8 以降のみが動作するため、GCC 4.8 以降を使用することをお勧めします。 Global Register では opline およびexecute_data がサポートされており、パフォーマンスが 5% 向上します。
3. HugePage を有効にすると、まずシステムで HugePages を有効にしてから、Opcache の huge_code_pages を有効にして、$sudo sysctl vm.nr_hugepages=512 を割り当てます。 -コード ページ。大きなページ メモリが残っています:
$ cat /proc/meminfo | grep HugeAnonHugePages: 106496 kBHugePages_Total: 512HugePages_Free: 504HugePages_Rsvd: 27HugePages_Surp: 0Hugepagesize: 2048 kB次に、opcache.huge_code_pages=1 を php.ini に追加します。このようにして、PHP は大きなメモリ ページを使用して独自のテキスト セグメントと大量のメモリ割り当てを保存し、TLB を削減します。
4. Opcache ファイル キャッシュをオンにする (実験的)。これをオンにすると、一部のスクリプトでは、Opcache が外部ファイルにキャッシュすることができ、パフォーマンスが大幅に向上します。方法は、opcache.file_cache=/tmp を php.ini に追加することです。このようにして、PHP は一部の Opcode バイナリ エクスポート ファイルを /tmp ディレクトリにキャッシュします。これは、PHP のライフサイクル全体にわたって存在する可能性があります。 PHP が WordPress や Drupal など、1 つのプロジェクトに対応するように特別に設計されている場合は、PGO を使用して PHP を改善し、特にプロジェクトのパフォーマンスを向上させることができます。具体的には、WordPress 4.1 を最適化シナリオとして取り上げます。まず、PHP をコンパイルするときに次のようにします。 $ make prof-gen.
6. 次に、プロジェクトを使用して PHP をトレーニングします (たとえば、WordPress の場合):$ 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 install7. この時点でコンパイルする PHP7 は、プロジェクトに合わせて調整された最高パフォーマンスのコンパイル済みバージョンです。
2. PHP 7 のインストールとコンパイル
1. PHP 7 公式 Web サイト:
1. ダウンロード: http://php. net/ downloads.php
4. OneinStack は PHP 7 を正常にインストールしました。
5. PHP 7 の情報表示です。
6. これは、OneinStack が提供する PHP 7 用の Opcache コントロール パネルです。
3. PHP 7 と古いバージョンの PHP および HHVM のパフォーマンスの比較
1. これは、WordPress や Drupal などの人気のあるプログラムで海外の開発者によってテストされた PHP 7 と PHP 5.6 のパフォーマンスです。 PHP 7 のパフォーマンスが大幅に向上していることは明らかです。
2. WordPress などのプログラムの場合、PHP 7 は個々の実行速度を向上させるだけでなく、PHP 7 での WordPress の実行時間が長くなるほど、パフォーマンスの向上が大きくなります。
3. 前述したように、PHP 7 の PHP のパフォーマンス向上は、いくつかの点で HHVM を上回っています。これは、zend.com の海外公式 Web サイトで提供されている PHP 5.6、PHP 7、および HHVM を実行した結果です。異なるプログラムでの効率比較結果。
4. プロフェッショナルなオープンソース電子商取引システム Magento で PHP 5.6、PHP 7、および HHVM の実行効率をテストします。PHP 7 は PHP 5.6 の 2 倍高速で、メモリ使用量は PHP 5.6 より 30% 低くなります。
5. Drupal 8 上での PHP 7 のテスト効率は、HHVM を上回り最速です。
6. WordPress のテスト中に、PHP 5.6 の実行には 100MB のメモリが必要ですが、PHP 7 では 25MB しか必要ないことがわかりました。
7. さまざまなプログラムの実行速度という点では、PHP 7 は明らかに PHP 7 よりも遅れています。
4. PHP 7 パフォーマンス テスト結果レポート
1. 証拠はありませんが、PHP 7 実行プログラムのパフォーマンスはどのくらいですか?ここで、部族はテスト オブジェクトとして新しい WordPress を使用しています。PHP 7 で実行した WordPress ホームページの読み込み時間テストでは 0.029 秒、メモリは 3.39 MB でした。
2. これは、PHP 5.6 を実行している同じ WordPress ページのページ読み込み時間: 1.955 秒、占有メモリは 3.92MB です。データの観点から見ると、PHP 7 は PHP 5.6 を完全に破りました。
3. WordPress を実行する PHP 7 の効率は、以前のバージョンと比較して確かに向上しています。PHP 7 のパフォーマンスを完全に理解するために、Web サイトのサーバー負荷の Web パフォーマンス テストの方法に従って、Webbench を使用してシミュレーションします。 10 秒間に 200 と 400 の接続数と速度は 8000 ページ/分を超えます。
4. この時点で、VPS サーバーのシステム負荷は 3.49 です。
5. シミュレートされた接続の数を 1600 に増やしても、速度は 8000 ページ/分を超えます。
6. この時点で、VPS サーバーのシステム負荷は 17 です。これは少し難しいはずです。
7. シミュレートされた接続の数を 5000 に増やすと、速度は 4800 ページ/分になり、速度が低下し始めます。
8. この時点で、VPS サーバーのシステム負荷は 23 で、サーバーは過負荷になっています。
9. この VPS ホスト上で PHP 7 の耐久性の制限をテストするために、Webbench は 20 秒間でサーバーに連続的にアクセスする 10,000 の接続をシミュレートしました。
10. この時点で、VPS サーバーのシステム負荷は 90 近くあり、限界に達しているはずですが、サーバーはまだクラッシュしません。
11. 次に、同じ構成の VPS ホスト上で WordPress を実行した場合のストレス テストの結果を見てみましょう。速度は 3600 ページ/分です。上記の PHP 7 テストと比較すると、速度は半分です。
12. これは、200 接続と 400 接続をテストした PHP 5.6 のシステム負荷であり、PHP 7 環境でテストされた 3.49 を明らかに超えています。
13. PHP 5.6 でテストする場合、シミュレートされた接続の数は 1000 または 2000 に増加しました。この時点で、速度は 1600 ページ/分に低下し、成功した接続の数も約 500 に低下しました。これは、PHP 7 でテストした場合の 2700 よりもはるかに低くなります。
14. この時点で、システム負荷は 17 に達しました。
15. Webbench を使用して、PHP 5.6 での接続数を 10,000 までテストし、20 秒以内にサーバーに連続的にアクセスします。この時点で、テストは結果が出ずに停止しています。
16. ここの VPS サーバーのシステム負荷が 1,000 を超え、サーバーがクラッシュしました。
17. PHP 5.6 の WordPress ウェブサイトがダウンしました。
5. PHP 7 の互換性の問題
1. 現在、国内の Discuz などは PHP 7 をサポートしていません。PHP 拡張機能には公式の Opcache のみが使用できます。その他の eAccelerator、xcache、memcached なども使用できます。 ., 全員 拡張機能サポート リスト: https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog をいつでもフォローできます。 php の memcache 拡張機能は、https://github.com/php-memcached-dev/php-memcached/tree/php7 および https://github.com/websupport-sk/pecl-memcache ですでに利用可能です。思い出させてくれたハッピーホームブロガーに感謝します。
2. テスト後、PHP 7 は問題なく WordPress を実行します。
3. PHP 7 に WordPress プラグインをインストールするのは問題ありません。
4. PHP 7 には一部の関数、演算子などに非互換性の問題がある可能性がありますが、99% のプログラムはこれらを使用しない可能性があります。
6. PHP 7 のインストールと使用体験の概要
1. PHP 7 を使用して驚いたことの 1 つは、海外の開発者によってテストされたように、HHVM は本物に依存しているため、PHP 7 のパフォーマンスは基本的に HHVM と同じであるということです。 -time (Just In Time) コンパイラは PHP コードを機械語命令にコンパイルするため、HHVM 上で実行する場合は多くの PHP プログラムを改善する必要があります。
2. PHP 7 は、HHVM の超高性能であると同時に、PHP 下位互換性の利点も備えており、近い将来、より多くの人に認識され、受け入れられるようになると思います。現在、PHP 7 をサポートするキャッシュやアクセラレーションなどの拡張機能はそれほど多くありませんが、より多くの開発者が PHP 7 開発の仲間に加わるのは時間の問題です。
出典: http://www.phpxs.com/j/php7/1001234