2

Cで小さな気の利いた Web サーバーを開発しましたが、そのパフォーマンスを評価したいと思います。このために、次のことを行っています。

次のシナリオで、ソケット確立時間、ファイル転送時間 (ランダム サイズのファイルの場合)、およびソケット ティアダウン時間を測定します。

  • シングルスレッド
  • マルチスレッド

そして、これによりスループット/帯域幅が得られるはずです...これを一連のコンピューターにセットアップし、すべてを測定することを計画していました...クライアント部分については、PHPを使用しており、次の方法:

<?php
$time_start = microtime_float();
// COMMAND TO PROFILE
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Task took $time seconds\n";
?>

貴重な洞察を得るために測定すべき他の指標はありますか?

4

4 に答える 4

3

PHP のパフォーマンスをプロファイリングする場合は、Xdebugを使用できます(他の多くのツールの中でも)。ただし、Web サーバーのパフォーマンスが気になる場合は、話は別です。Apache のような Web サーバーには、abツールなどのプロファイリング ツールも開発されています。

于 2010-02-05T03:05:35.190 に答える
2

うーん、リクエストのパフォーマンスをベンチマークするための最良のアプローチかどうかはわかりません。Apache ディストリビューションによって提供される ab を見てください。これは初歩的なツールですが、同じサーバー上で実行して、リクエスト時間のより正確なベンチマークを取得できるはずです。また、他の多くのメトリックも提供します。

http://httpd.apache.org/docs/2.0/programs/ab.html

于 2010-02-05T03:04:37.630 に答える
2

プロファイリングでxDebugを使用してみてから、 webgrindをダウンロードしてインストールします。

君は:

  1. コードの混乱を避け、
  2. より多くの情報、メモリ、ルーチンが呼び出された回数、ルーチンのコスト、およびどこから呼び出されたかを取得します。

PHP プロファイリング クラスを使用して、そのような情報を簡単に収集できるとは思えません。

始めるためのチュートリアルがたくさんあります。

代替テキスト
(出典: jokke.dk )

于 2010-02-05T03:10:10.113 に答える
1

メモリ使用量は良いかもしれません。特定の関数がどのくらいの頻度で呼び出されているかを調べて、何を最適化する必要があるかを確認することもできます。

また、Facebook は、一見の価値がある XHProf というツールを公開しました: http://mirror.facebook.net/facebook/xhprof/doc.html。その使用法に関する追加の説明は、http: //techportal.inviqa.com/2009/12/01/profiling-with-xhprof/にあります。

于 2010-02-05T03:08:31.470 に答える