PHP 7 を高速化する (GCC PGO)_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:48:41
オリジナル
1392 人が閲覧しました

PHP 7 を高速化する (GCC PGO)

私たちは PHP7 のパフォーマンスを向上させるために熱心に取り組んできました。先月、GCC の PGO が WordPress のパフォーマンスを 10% 近く向上させることができることに気づきました。

 让你的 PHP 7 更快 (GCC PGO)

ただし、名前が示すように、PGO (プロファイルガイド付き最適化、興味がある場合は Google で検索してください) は、フィードバックを取得するためにいくつかのユースケースを使用する必要があります。つまり、この最適化は特定のシナリオにバインドされる必要があります

あるシナリオでの最適化が別のシナリオで裏目に出る可能性があります。これは普遍的な最適化ではありません。そのため、これらの最適化を単純に組み込むことはできません。また、PGO によってコンパイルされた PHP7 を直接リリースすることもできません。

もちろん、PGO からいくつかの一般的な最適化を見つけて、手動で PHP7 に適用しようとしていますが、これでは明らかにシーンの特別な最適化で達成できる効果を達成できないため、簡単に紹介するためにこの記事を書くことにしました。 PGO を使用して PHP7 をコンパイルし、コンパイルした PHP7 で独自の独立したアプリケーションをより高速に作成できるようにする方法。

まず最初に、フィードバック GCC にどのシナリオを使用するかを決定します。通常、最適化したいシナリオでは、訪問数が最も多く、最も時間がかかり、リソースの消費が最も多いページを選択します。

WordPress を例として、WordPress のホームページを選択します (ホームページが最もアクセスされることが多いため)。

私のマシンを例に挙げてみましょう

:

リーリー

php-fpm は固定の 32 ワーカーを使用し、opcache はデフォルト設定を使用します (必ず opcache をロードしてください)

最適化シナリオとして wordpress 4.1 を採用します。

まず、PHP7 で WP の現在のパフォーマンスをテストしてみましょう (ab -n 10000 -c 100):

リーリー

現在このマシンには WordPress 4.1 が搭載されており、ホームページの QPS は 1116.48 に達することができます。つまり、1 秒あたり非常に多くのホームページへのリクエストを処理できることがわかります。

それでは、GCC を教え始めて、WordPress 4.1 をより速く実行する PHP7 をコンパイルさせてみましょう。まず、GCC 4.0 以降が必要ですが、皆さんには GCC-4.8 以降 (現在は GCC-5.1) を使用することをお勧めします。

最初のステップは、PHP7 のソースコードをダウンロードし、次に ./configure を実行することです。これらに違いはありません。

次に、最初に PHP7 をコンパイルし、プロファイル データを生成する実行可能ファイルを生成する必要があります。

リーリー

注意してください、prof-gen パラメータを使用しました (これは PHP7 の Makefile に固有のものです。他のプロジェクトではこれを行わないでください:))

それでは、GCC のトレーニングを始めましょう:

リーリー

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

次に、PHP7 の 2 回目のコンパイルを開始します。

リーリー

さて、これで簡単です。PGO のコンパイルは完了しました。次に、PGO コンパイル後の PHP7 のパフォーマンスを見てみましょう:

リーリー

現在、1 秒あたり 1191.78 QPS を処理できるようになり、改善は ~7% です。悪くありません (10% とは言いませんでしたか? どうして 7% なのでしょうか?) ハハ、前にも言ったように、PGO を分析しようとすると、いくつかの最適化を行った後、いくつかの一般的な最適化を手動で PHP7 に適用しました。つまり、より一般的な最適化の ~3% が PHP7 に含まれており、もちろんこの作業はまだ続いています)。

独自の製品の古典的なシーンを使用して、いくつかの簡単な手順で改善できます。

ありがとう

編集者注: この記事は PHP マスター ——Brother Bird @Laruence の著作です。元のアドレス: http://www.laruence.com/2015/06/19/3063.html

http://www.bkjia.com/PHPjc/1021432.html


www.bkjia.com
本当

http://www.bkjia.com/PHPjc/1021432.html

PHP 7 を高速化する (GCC PGO) 私たちは PHP7 のパフォーマンスを向上させるために熱心に取り組んできました。先月、GCC の PGO が WordPress のパフォーマンスを 10% 近く向上させることができることに気づきました。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!