我读了这个,但它不适合我的解决方案。我需要找出我的 CakePHP 2 应用程序中的内存和 CPU 时间瓶颈。在控制器动作中microtime
,memory_get_usage
我发现了一些线索。我用这个修复了一些。但是很难一一诊断每个控制器动作。
我需要为每个操作记录 CPU 和内存负载。我打算在我的控制器中放置 2 个全局变量。并在 beforeFilter 和 afterFilter 中计算它们并记录它们以供以后检查。这是正确的方法还是您可以推荐其他解决方案?
class AppController extends Controller {
var $requestStartTime = 0;
var $requestDifTime = 0;
var $memoryBefore = 0;
var $memoryAfter = 0;
function beforeFilter() {
$requestStartTime = microtime(true);
$memoryBefore =memory_get_usage(true);
}
function afterFilter() {
$requestDifTime = microtime(true) - $requestStartTime;
$memoryAfter = memory_get_usage(true);
$myFile = TMP.'logs'.DS.'mylog.txt';
$fh = fopen($myFile, 'a');
$string = "start time:" . $requestStartTime .
" dif time: " . $requestDifTime
" memory usage: " . $memoryBefore . " and " . $memoryAfter
."\n";
fwrite($fh,$string);
fclose($fh);
}
}