ホームページ  >  記事  >  バックエンド開発  >  PHPパフォーマンステスト

PHPパフォーマンステスト

WBOY
WBOYオリジナル
2016-06-23 14:32:581696ブラウズ

PHP テスト計画
1. パフォーマンス テスト (xhprof)
1)、インストール
Wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar xzvf xhprof-0.9.2.tgz
cd xhprof-0.9.2/extension
/usr/local/php-5.3.5/bin/phpize
./configure ?with-php-config=/usr/local/php-5.3.5/bin/php-config
make && make install

2)、PHP を設定します
xhprof.so モジュールを php.ini ファイルに追加します
extension = /usr/local/php-5.3.6/lib/php/extension/xxxx/xhprof.so

保存して閉じ、PHP を再起動します

xhprof_lib ディレクトリと xhprof_html ディレクトリを Web サイト「xxx.xxxx.com/xhprof/」のルート ディレクトリにコピーします。

2.
を使用してパフォーマンス テストが必要な場所に追加します
開始:
// XHPROF_FLAGS_CPU
// :
xhprof_enable(XHPROF_FLAGS_MEMORY,
array(
'ignored_functions' => array(
'call_user_func',
'call_user_func_array'
) _enable(XHPROF_FLAGS_CPU + X HPROF_FLAGS_MEMORY);
終了:
$xhprofData = xhprof_disable();
define('XHPROF_ROOT', Yii::getPathOfAlias('webroot.xhprof'));

include_once(XHPROF_ROOT . '/xhprof_lib/utils/xhprof_lib.php');
include_once(XHPROF_ROOT '/xh教授_ lib /utils/xhprof_runs.php');
$xhprofRuns = new XHProfRuns_Default();
$runId = $xhprofRuns->save_run($xhprofData, ' ');
echo "http://xxx. xxx .x​​xx/xhprof/xhprof_html/index.php?run={$runId}&source= ";

上記のアドレスに従って確認できます

このようにして、各関数が消費するCPUを確認できます呼び出し、メモリ、実行時間など。

単一のレポートを表示:
http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run={$runId}&source=
View a比較レポート:
http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run1=xxxx&run2=xxx&source=
概要レポートを表示:
http://xxx.xxx.xxx/xhprof/ xhprof_html/index.php ?run=1,2,3&source=
重み付けされた要約: さらに、上記の 3 つの特別な操作が 3 つのプログラム、p1.php、p2.php、および p3.php に対応すると仮定します (通常は 20)。 % および 30%、50% の確率ミックス: これらの実行の加重平均に対応する概要レポートを表示するには、次を使用します:
http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run=1,2, 3 &wts=20, 30,50&source=


2. ストレステスト
コマンド:
ab ?c 256 ?n 100000 http://iploc.kuaibo.com/ip/weather

-c concurrency
-n 総リクエスト回数
-t 総リクエスト時間、50,000 回以上終了


サーバーストレステスト参考データ:
1、CPU (nginx、PHP、MYSQL) 上位
2、メモリ (nginx、PHP、MYSQL) ) free
3、Queue
4、I/O
5、およびネットワークトラフィック


2 つのテストを組み合わせて、低負荷から高負荷までのテストを行い、サーバーのリソース占有率を観察します。 ストレス テストと同時に、パフォーマンス テスト ツール xhprof を使用してテストを結合し、ボトルネックがどこにあるのか、リソースがより多く占有されているのはどこなのかなどを確認します。

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