2017-06-06 7 views
6

私は現在のライブラリをフォークしてmyscript.phpを実行しています。 xhprofから、私はwalltime,cputime,memoryusage、およびpeakmemoryusageを得ることができます。私はsymfonyのコンソールをベンチマークしようとしています - そのため、私はConsoleCommandEventTIDEWAYS_ENABLE()を追加し、ConsoleTerminateEventにはTIDEWAYS_DISABLEを追加します。PHPスクリプトで使用されているリソースの量を確認する(CPUのパーセンテージとメモリ)

質問:

  1. どのように私はmyscript.phpは、CPUの何パーセントを消費するかどうかを判断することができますか?私はちょうどhere on serverfaultのようなcpuusage = cputime/realtimeのようなパーセントを数えることができますか?
  2. memoryusage (mu)peakmemoryusage (pmu)xhprofプロファイラから、ramの使用方法を変換または計算するにはどうすればよいですか? (top結果はmemoryusage何とか近くpeakmemoryusage値よりもはるかに高い示したので、私はram使用量がpeakmemoryusage

ノートの値であると言うことができます:?

  • それは、このHow can I get the CPU and Memory useageと違うのは、どのようなので、私たくsystem loadではありません。複数のscripts.phpが同時にPSが実行されているかもしれません。

答えて

0

私はわかりませんよデータを使用するかどうかを判断したいが、比較分析(例: 「このループを削除すると、25%高速で、10%少ないメモリを使用します」)https://blackfire.io/を使用することをお勧めします。

設定が簡単で使いやすいです。また、要求間の自動比較分析も提供します。また、内部的に複数のパスを実行して、外部要因が平均化されていることを確認します。

CPUとメモリの使用量のデータが正確であるかどうかは実際には分かりません。ブラックファイアの他のデータと比較して確かに正確です。比較する必要がある場合はうまくいきます。絶対的な数字が必要な場合は、塩分でそれを取る必要があります(これはいくつのスクリプトが4GBサーバーで実行するのが安全でしょうか?)。しかし、私はそれがかなり正確だと思います。 Xdebugのプロファイラーよりもはるかに優れています。

+0

実際に私は 'cputime'を取得するために、何の問題をしたん - 私は[xhprof](https://github.com/tideways/php-profiler-extension)[tideways.io](HTTPSでフォークを使用しています: //tideways.io)の代わりに[blackfire.io](https://blackfire.io)を使用します。どのような私の骨董品を作ることはそれだけで 'cputime'値からの割合で' top'または 'htop'のようなコマンドに現れただけのよう' script.php' CPU使用率を算出することができますか? –

+0

おっと、申し訳ありませんが、私はあなたが尋ねたことを誤解しました –

関連する問題