1

各サービスをベンチマークするWebアプリケーションのカスタムコンポーネントを構築しています。これまでのところ、計画は通常のものをベンチマークすることです。

  • 反応時間
  • メモリー
  • 現在のサーバーアクティビティ

基本的なものを作成し、現在実行中のプロセスと使用されているリソースの量を一覧表示するlinuxの「top」コマンドの出力を保存することを考えていました。しかし、私は実行から応答を取得することができませんでした:

$output = shell_exec('top');
echo "<pre>";
var_dump($output);
echo "</pre>";

しかし、phpマニュアルの例のように、他のより単純なコマンドは機能します。

$output = shell_exec('ls -lart');

したがって、私の質問は次のとおりです。-「top」コマンドをrootとして実行する必要がありますか?(現在、apacheユーザーの下で実行されています)-または、サーバー統計を取得するのに役立つ他のphpコマンドはありますか?

私はこの投稿を読みましたが、必要に応じて統計を必要とし、それらをDBに保存するため、何もインストールすることにあまり興味がありません。 PHPサーバー統計スクリプト?

4

2 に答える 2

2

実行すると、プログラムが実行され続け、停止しないことがわかります。また、インタラクティブです。

出力をキャプチャする場合は、実行してから停止するプログラムが必要です。それを行うための top のオプションがあるかもしれません。ただし、ほとんどの情報は他のコマンドで収集できます。

トップを次のように実行します。

top -b -n1
于 2011-06-29T21:47:40.083 に答える
2

サーバーに関する CPU 情報を取得するには、 cat /proc/cpuinfo のように /proc ディレクトリ内の任意のものを cat できます。Linux のすべてはファイル システムに縮小でき、検索したいシステム統計はすべて /proc にあります (ほぼすべての統計)。

于 2011-06-29T21:49:46.263 に答える