4

私はしばしば「top」コマンドを使用して、リソースを占有しているものを確認します。ほとんどの場合、Apache httpd プロセスの長いリストが表示されますが、これはあまり役に立ちません。同様のリストを表示する方法はありますが、どの PHP スクリプトなどを確認できますか?それらの httpd プロセスが実際に実行されていますか?

4

4 に答える 4

4

長時間実行されるプロセス (つまり、実行に 1 ~ 2 秒以上かかるリクエスト) が気になる場合は、Apache の mod_status を使用してプロセスを把握できます。ドキュメント出力の例(www.apache.org から)を参照してください。これは PHP に固有のものではありませんが、Apache プロセス内で実行されているものすべてに当てはまります。

www.apache.org のステータス出力は、おそらくデモンストレーション目的で公開されていることに注意してください。誰もが見られないように、アクセスを制限する必要があります。

于 2008-09-28T22:43:44.553 に答える
1

Apache のリアルタイムのログ分析を提供するapachetopと呼ばれる、top に似た ncurses ベースのユーティリティがあります。残念ながら、プロジェクトは放棄され、コードにはいくつかのバグがありますが、実際には非常に使いやすいです。root として実行するのではなく、Web サーバーのログ ファイルにアクセスできる任意のユーザーとして実行すれば問題ありません。

于 2008-10-04T20:58:16.493 に答える
0

PHP スクリプトは非常に高速に実行されるため、top ではあまり表示されません。または、非常に速く圧縮されます。ほとんどの Web リクエストは非常に高速です。

アクセスログを監視し、平均実行時間、メモリ使用量などの統計を更新する、ある種のリアルタイムログプロセッサを用意するのが最善の策だと思います。

于 2008-09-28T22:36:05.867 に答える
0

PHP ページ自体の時間を作成し、そのパスと実行時間をファイルまたはデータベースに書き込むことができます。監視している間はすべてが遅くなることに注意してください。しかし、それは良い測定方法として役立ちます.

ただし、それほどインタラクティブではありません。それから毎日または毎週の結果を得ることができますが、数分または数時間で意味のあるものを見つけるのは難しいでしょう.

于 2008-09-28T22:44:39.620 に答える