2010-03-03 5 views
1

저는 kohana를 처음 접하는 비교적 숙련 된 PHP 개발자입니다.Kohana 컨트롤러 설치가 예상치 않게 느림

내가 Kohana와 웹 사이트를 구축,하지만 난 내 서버에 업로드 한 후 다른 하나는 0.5 초 미만이 걸릴 동안, 나는, 비정상적으로 느린 부분 "컨트롤러 설정"을 발견 12S를 인수

Kohana Loading 0.014 1 0.49MB 
Environment Setup 0.004 1 0.05MB 
System Initialization 0.007 1 0.14MB 
Controller Setup 12.058 1 1.42MB 
ReflectionClass >newInstance() 12.054 1 1.35MB 
Controller Execution 0.036 1 0.25MB 
Total Execution 12.117 1 2.30MB 

Kohana의 핵심을 파고으로 내가 찾은 ReflectionClass> 위해서, newInstance()이 문제

을 유발하지만 여기에서 어디로 가야 확실하지 않다된다. :(

도움 바랍니다. 나는 내 자신의 코드에 더 깊이 파고있다


감사합니다,() 문제를 일으키는 whos는 그 세션 : 예처럼. 세션 :() 인스턴스를 보이는 12.032 1 1.03MB


또한 내 문제 추적에, 내가 변경 한 세션 캐시에 드라이버 및 캐시에서 Memcache합니다. 그러나별로 개선. 그래서, session.php을 열어이 발견했다.

 /** 
    * Singleton instance of Session. 
    */ 
    public static function instance() 
    { 
     if (Session::$instance == NULL) 
     { 
      // Create a new instance 
      new Session; 
     } 

     return Session::$instance; 
    } 

-> "새로운 세션;"!!

나는이 모든 점을 볼 수 없습니다. 나는 다른 클래스들을 보았고, return new xxx; 그것은 DocBlock 말한다처럼

+0

컨트롤러 코드 (가능한 경우)를 붙여 넣어야 문제가 무엇인지 알 수 있습니다. 또 다른 메모에서, 당신은 꽤 숙련 된 PHP 개발자라고 주장하고, 싱글 톤이 무엇인지조차 알지 못한다는 것을 보여줍니다. –

+0

공정하게 말하자면, 많은 PHP 개발자가 PHP 4에서 대부분의 작업을 수행했기 때문에 Singleton이 새로운 개념 일 수 있습니다. –

+0

비슷한 문제가 있는데, session_start()로 좁혔습니다. 어떻게 수정했는지 기억하십니까? – Josh

답변

0

, 세션 클래스는 Singleton pattern을 사용하고 있습니다. 싱글 톤 패턴은 주어진 시간에 클래스의 인스턴스가 하나만 있는지 확인합니다. 보여준 코드는 특별한 일을하지 않습니다. 패턴의 표준 구현입니다. 나는 이것이 범인인지 매우 의심한다. 있다면, Session::__construct을 살펴 봐야합니다.

더 좋은 방법은 응용 프로그램을 프로파일 링하는 Xdebug을 사용하고 detailed listing of the execution flow를 얻을 수있을 것이다. 이렇게 오래 걸리는 것에 대해 이것은 훨씬 더 많은 빛을 발산합니다.

+0

고든, 고맙습니다. 이제 문제가 session_start()로 추적되었습니다. Xdebug가 session_start 내에서 세부 사항을 자세히 설명 할 지 확신하지 못한다면, 좀 더 바이올린을 시도 할 것입니다. 결국이 문제는 로컬 컴퓨터에서 절대로 발생하지 않습니다. 반드시 하드웨어 설정과 관련이 있어야합니다. – Darkerstar

관련 문제