ホームページ  >  記事  >  バックエンド開発  >  PHP の本質を学び、効率的な PHP コードを作成するパフォーマンス_PHP チュートリアル

PHP の本質を学び、効率的な PHP コードを作成するパフォーマンス_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:28:53969ブラウズ

1. ベンチマーク テストを使用してコードのパフォーマンスを検出します

Web アプリケーションに関して言えば、ベンチマークとは、できる限り多くのトラフィックでコードをロードし、そのパフォーマンスを測定する「ストレス テスト」を指すことがよくあります。

ApacheBench (ab) と JMeter という 2 つのベンチマーク ツールをお勧めします。

ストレス テストを実行するには、同時にオンラインのユーザーと多数のリクエストという 2 つのことが必要です。これらのツールでは、同時に実行される多数のアプリケーション スレッドがユーザーを表します。したがって、「同時スレッド = 同時ユーザー」ということだけを覚えておく必要があります。

1. ApacheBench は非常にシンプルで、通常は Apache インストールに含まれるか、Apache 開発パッケージの一部として含まれます (simple ab と呼ばれるバイナリ ファイル)。 ab を使用するには、リクエストの総数 (-n) と同時スレッドの数 (-c) を指定するだけで機能します。

例: ここでは、-n 1000 -c 20 を使用して 20 個の同時スレッドを生成し、1000 個のリクエストを実行します。

リーリー

ab の使用方法のリファレンス: http://httpd.apache.org/docs/2.0/programs/ab.html

2. JMeter は GUI を備えた別の Apache プロジェクトであり、より多くの機能を備えています。 JMeter を使用するには、テスト計画を作成し、スレッド グループを追加し、サンプラーを追加し、JMeter 構成を指定し、Cookie ハンドラーなどのその他のオプションを追加し、結果を処理するリスナーを追加する必要があります。

JMeter Web サイト: http://jmeter.apache.org/

2. キャッシュを使用してコードのパフォーマンスを向上させる

1. Apache サーバーの場合、apc を使用してコード キャッシュを実装します。

PECL (PHP Extension Community Library、PHP Extension Shared Class Library) から APC を取得し、コンパイルして、拡張機能をインストールします。

リーリー

この後、設定に応じて、php.ini ファイルを編集してこれを追加する必要があります:

リーリー

Apache を再起動すれば準備完了です。

APC の使用方法のリファレンス: http://www.php.net/manual/en/book.apc.php

2. Windows/IIS サーバーの場合は、Microsoft の WinCache を使用してコード キャッシュを実装します。

WinCache Web サイト: http://www.iis.net/downloads/microsoft/wincache-extension

3. memcached を使用してセッション データ キャッシュを実装します。Memcached は、メモリベースのクラスター対応のキー/値ペア ストレージです。 memcached 拡張機能を有効にすると、ディスク ストレージ セッションの代わりに memcached を自動的に使用できます。

memcached Web サイト: http://memcached.org/

Memcached の使用方法のリファレンス: http://www.php.net/manual/zh/book.memcached.php

memcached をインストールします:

リーリー

php.iniを設定します:

リーリー

3. プログラムの概要分析を実施し、問題がどこにあるかを見つけます。

プログラム プロファイリングは、正確な時間またはメモリ テストを使用してコード内の各アクションを実行する行為です。分析を通じて問題の箇所を特定し、最適化します。

よく使用される 2 つのプロファイリング ツールがあります:

1. Derick Rethans によって作成された信頼性の高い Xdebug ツール。結果は KCachegrind または QCachegrind によって監査されます。

Xdebug Web サイト: http://xdebug.org/

KCachegrind Webサイト:http://sourceforge.jp/projects/freshmeat_kcachegrind/releases/

QCachegrind Webサイト:http://sourceforge.jp/projects/freshmeat_kcachegrind/releases/

2. 新しく開発された XHProf ツールは Facebook のアプリケーションで、XHGui Web のフロントエンド部分として Paul Reinheimer によって作成されました。

XHProf ウェブサイト: http://pecl.php.net/package/xhprof

XHGui ウェブサイト: https://github.com/perftools/xhgui

概要:

まず第一に、全体的なパフォーマンスの向上を達成できるように、パフォーマンスの低下という最大の問題を解決する必要があります。 SQL クエリに 10 秒かかる場合、その実行速度が 50% 向上することになりますが、PHP 関数の実行に 5 秒かかる場合、実際には 50% 速度が向上するだけです。 0.5秒を節約します。ある時点で、ハードウェアのパフォーマンスによって完全に制限されるようになります。私たちの経験では、CPU や RAM よりもディスクやネットワーク I/O によって制限される可能性が高くなります。これは、複数のコンピューター間でアプリケーションのスケーリングを開始する必要がある場合です。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/780576.html技術記事 1. ベンチマーク テストを使用して、コードのパフォーマンスを検出します。ベンチマークに Web アプリケーションが含まれる場合、通常はストレス テストを指します。これは、コードにできるだけ多くのトラフィックをロードし、その実行を測定することです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。