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 .xxx/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 を使用してテストを結合し、ボトルネックがどこにあるのか、リソースがより多く占有されているのはどこなのかなどを確認します。