지난 주에 CentOS 서버를 다른 컴퓨터로 마이그레이션했습니다.
VDS 서버 하드웨어는 매우 유사합니다. 새 컴퓨터에서 서버 동작을 복제하기 위해 최선을 다했습니다.
CakePHP 2.4.4, PHP 5.4.26. 나는 아파치 모듈로 PHP를 제공한다. XCache 3.1.0.CakePHP FileEngine :: clear는 매우 많은 CPU 시간을 필요로합니다.
(하지만 특정 시간대에 CPU 시간이 너무 많이 걸리는 것처럼 보입니다.)
예를 들어 모든 것이 10 분 동안 작동하지만 2 분 동안 CPU가 100 %가되면 % 5가되고 4-5 분 후에 CPU를 다시 100 %)
그것은 내 CakePHP의 응용 프로그램
FileEngine::clear()
너무 많은 시간처럼 보인다 얻을. FileEngine::clear에 시간이 너무 많이 걸리는 이유를 진단/디버깅하려면 어떻게해야합니까?
이미지 1 : http://s29.postimg.org/qfj26aq8n/shot1.jpg
이미지 2 : 이미지에서 코드 실행 시간을 확인할 수 있습니다
Warning: Warning (2): is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/var/www/vhosts/example.com/:/tmp/:/usr/share/fonts/) in [/var/www/vhosts/example.com/httpdocs/lib/Cake/Cache/Engine/FileEngine.php, line 265]
Trace:
is_dir - [internal], line ??
FileEngine::_clearDirectory() - CORE/Cake/Cache/Engine/FileEngine.php, line 265
FileEngine::clear() - CORE/Cake/Cache/Engine/FileEngine.php, line 247
FileEngine::gc() - CORE/Cake/Cache/Engine/FileEngine.php, line 100
Cache::_buildEngine() - CORE/Cake/Cache/Cache.php, line 184
Cache::config() - CORE/Cake/Cache/Cache.php, line 151
include - APP/Config/bootstrap.php, line 101
Configure::bootstrap() - CORE/Cake/Core/Configure.php, line 92
include - CORE/Cake/bootstrap.php, line 175
[main] - APP/webroot/index.php, line 93
: http://s9.postimg.org/uzwh1a5i7/shot2.jpg
또한 내하는 error.log 파일에 나는 이러한 오류를 얻을 수 있습니다 Apache 설정에서 open_basedir
(p) 설정은 다음과 같습니다.
{WEBSPACEROOT}{/}{:}{TMP}{/}:/usr/share/fonts/
편집 :
타임 스탬프는 FileEngine::clear
및 FileEngine::_clearDirectory
에 기록됩니다. 그러나 이상한시기는 존재하지 않는다. 가장 느린 통화에는 0.3 초가 걸립니다. 평균은 0.01 초입니다. 하지만 FileEngine::clear()
전화 시간을 확인하면 피크 시간대에 90-95 초가 걸립니다.
디버그가 0으로 설정되면 어떻게됩니까? 어쩌면 어리석은 질문 일 수도 있지만 아마도 문제를 디버깅하는 데 도움이 될 것입니다 :) – Jelmer
내 디버그가 core.php에서 0입니다. Configure :: write ('debug', 0); ' – trante
흠, 타임 스탬프를 케이크 FileEngine? 어떤 선이 충돌하고 있는지 확인하기 만하면됩니까? 그리고 얼마나 많은 파일이 캐시에 있습니까? 어쩌면 많은 파일이있을 수 있습니까? 나는 짐작할 필요는 없지만 문제가 될 수 있겠는가? – Jelmer