PHP プログラムのパフォーマンスと負荷テストの向上に関するサンプル コードを参照して、必要な方が自分のプログラムのパフォーマンスを向上させる方法を確認してください。
実行時間の計算
次の簡単な方法でプログラムの実行時間(microtime)を計算することができます
コードは以下の通りです | コードをコピーしてください |
$start_time = microtime(true);
//時間を計算する必要があるコード //...ここにコード...
print('コードの実行時間は:'.getExecTime($start_time));
function getExecTime($ start_time) { return microtime( true)-$start_time; }PEAR の Benchmark モジュールは、より詳細な時間統計関数を提供します
require_once 'Benchmark/Timer.php'; $timer =& new Benchmark_Timer(true); $ timer->start( ); // 関数のセットアップ $timer->setMarker('setup'); // ここでさらにコードが実行されます $timer->setMarker('middle'); //さらにコードはここにあります $timer->setmarker('done'); // そして最後のコードはここにあります $timer->stop(); $timer->display();構造体とティック命令を宣言 PHPコードの各行の実行時間の自動記録を実現
// 呼び出された時間を記録する関数 function profile($dump = FALSE) { static $profile;
// profile に保存されている時間を返し、それを消去します if ($dump) { $temp = $profile; / ティックハンドラーを設定します register_tick_function("profile");
// 宣言の前に関数を初期化しますblock profile(); // コードのブロックを実行し、2 番目のステートメントごとにティックをスローします declare(ticks =2) { for ($x = 1; $x echo like_text(md5($x), md5($x*$x)), ";"; } }
// プロファイラーに保存されているデータを表示しますprint_r(profile (TRUE)); Nicks ディレクティブは PHP 5.3.0 では廃止されたディレクティブであり、PHP 6.0.0 から削除される予定です。
コードのデバッグ 主な導入は、Advanced PHP Debugger (APD) の設定を通じて、トレース ファイルを生成し、ファイルを分析してスクリプトの詳細情報を取得することができます Web サイトのストレス テスト ストレス テストとベンチマーク テストは混同されることがよくあります。ベンチマーク テストは、個々の開発者によって実行される一時的なアクティビティです。一般的に使用される Apache HTTP テスト ツール (ab) は、HTTP サーバーが 1 秒あたりに応答できるリクエストの数をテストできます。ストレス テストは、Web アプリケーションを中断できるテスト テクノロジであり、ブレークポイントをテストすることで、アプリケーションの弱点を特定して修復でき、新しいハードウェアを購入する時期の基準を提供します。一般的に使用されるオープンソース ツールは Siege です。 |
高速化のヒント
PHP アクセラレータをインストールすると、Alternative PHP Cache (APC)、eAccelerator、ionCube PHP Accelerator (PHPA) の 3 つの一般的なアクセラレータが効果的に向上します。もう 1 つ注意すべき点は、アクセラレータの互換性が、新しくリリースされた PHP バージョンよりも遅れていることがよくあることです。
もう 1 つの高速化のコツは、できる限り正規表現を使用しないようにすることです。通常、正規表現を使用するよりも代替ソリューションの方が効率的です。
http://www.bkjia.com/PHPjc/444723.htmlwww.bkjia.com
true
http://www.bkjia.com/PHPjc/444723.html
技術記事 PHP プログラムのパフォーマンスと負荷テストの向上に関するサンプル コードを参照して、必要な方が自分のプログラムのパフォーマンスを向上させる方法を確認してください。 次の簡単な方法で実行時間を計算します...