私はプロセスを終了し、プロセスの新しいインスタンスを開始するためのbashスクリプトを実行するPHPスクリプトを持っています。残念なことにそれを実行しようとすると、実行には非常に時間がかかります。なぜ私はその理由を知ることができますか?これはDebian 7専用サーバ上のapache2サーバです。PHPスクリプトの実行が遅い理由を確認
PHPスクリプト:
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
$start = microtime(TRUE);
if (isset($_GET['resetnow'])) {
$myreset = $_GET['resetnow'];
if ($myreset == "now") {
$cmd=getcwd()."/resetut.sh 2>&1";
exec($cmd, $output, $return_var);
$outputstr=implode(",", $output);
$finish = microtime(TRUE);
$totaltime = $finish - $start;
$timetaken = " This script took ".$totaltime." seconds to run";
print $cmd." ".$outputstr.$timetaken;
} else {
print "Didnt receive correct parameters";
}
} else {
print "Undefined";
}
?>
シェルスクリプト:
#!/bin/bash
cd pathto/utorrent
killall utserver
./utstart start
a=$(pgrep utserver)
echo Utorrent restarted as new process $a
は、残念ながら、出力は次のようになります。あまりにも長いです
/pathto/resetut.sh 2>&1 Starting utorrent server,
Utorrent restarted as new process 25044 25381
This script took 275.10148310661 seconds to run
。コマンドラインからシェルスクリプトを実行すると、完了までに1秒以下かかります。
ブラウザからの起動とコマンドラインからのphpスクリプトの実行時間がほぼ同じですか? – Samsquanch
これは 'プロファイリング'と呼ばれ、そのためのツールがあります。 Googleの詳細 –
@Samsquanchはい私do – Droidzone