2017-02-02 10 views
2

私は現在EC2を使用しており、(locust.ioで)100人の同時ユーザーをテストすると、15のRPSを達成しています。 100%。ほとんどのCPUを使用しているPHPコードの検索方法

ほとんどのCPUを使用しているPHP 7コードの行/行を追跡する方法を知っている人はいますか?

+0

コードの一部を削除し、CPU使用率のチェックを計算してください。たぶんあなたにはあまり役に立たない仕事をするループがありますか? – Justinas

答えて

2

コードの動作をプロファイルして分析するには、xdebugkcachegrindをお勧めします。

設定は、プロファイリングを有効にするには、このようにXdebugを:

xdebug.profiler_enable = 1 
xdebug.profiler_output_name = xdebug.out.%t 
xdebug.profiler_output_dir = /tmp 
xdebug.profiler_enable_trigger = 1 

を使用すると、POSTとしてXDEBUG_PROFILEを渡したりparamteterを取得する場合、xdebugのは、設定された場所でプロファイリングデータを生成します。

これらのファイルをkcachegrindで開いて、ドリルインします。

注意:プロファイリング中に実行すると時間がかかり、生成されるファイルはかなり大きくなる可能性があります。ディスクに注意してください。

0

xhprofにお試しください。これはあなたの問題を解決するかもしれません。

私たちはこれまで、スクリプトのどの部分がもっと時間をかけているか知りたいときにこれを手にしていました。

お試しください。

0

ほとんどの言語とアプリケーションタイプでは、これらの問題を明示的に解決するように設計された商用製品がかなりあります。

新しいRelicは、Webソフトウェアでこれが本当にうまくいくので、どの方法が最もCPUサイクルの原因となっているかを示すバーンチャートを生成できます。また、不正なクエリ、API呼び出し、その他の外部サービスを特に強調することもできます。

PHPやJava Webアプリケーションでパフォーマンスの問題を診断しようとすると、ツールに飛びついてしまいます。

New Relic Tracing

私はそれを試してみる機会があっていませんでしたが、AWSはちょうど、同様の仕事をするために請求された「X線」を開始しました。

関連する問題