CI 묻고 답하기

제목 model load time 관련 질문 드립니다.
글쓴이 쑨어 작성시각 2011/04/28 12:12:53
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 19005   RSS

항상 포럼에서 많은 도움 받고 있는 신입 회원입니다...

실력이 부족해서 도움은 못 드리고, 항상 이렇게 도움 받기만 해서 죄송합니다.

이번에 작업하다가 model load 에서 시간이 엄청 많이 소요되는 문제가 발생했습니다.

다른 사이트에서는 이런 문제가 없었는데... 이번에 처음으로 이런 문제를 접하게 되었습니다.

아래는 controller model load 부분 입니다.
$this->benchmark->mark('1');
		
		$this->load->model('auth/join_db');
		
$this->benchmark->mark('2');
echo '1-2 : '.$this->benchmark->elapsed_time('1', '2');

시간을 찍어 보면 아래와 같이 5초 가량을 잡아 먹습니다.

1-2 : 5.0146



비슷한 코드로 제가 만든 사이트에서 시간을 측정해 보면 
$this->benchmark->mark('a');		
		$this->load->model('user/user_db');
		$this->load->model('rank/rank_db');
$this->benchmark->mark('b');    
echo 'a-b : '.$this->benchmark->elapsed_time('a', 'b');
a-b : 0.0118

물론 두번째 사이트에는 속도에 문제가 없습니다. 


특이한 점은 모든 첫 번째 사이트는 모든 model load에 5초 가량이 소요됩니다. 
 두개를 동시에 로드해도 5초가 소요됩니다. 

모델로드 부분에 시간이 많이 걸리는 이유를 확인하기 위해서는 어떤 부분을 확인해야 할까요...
도움 부탁 드립니다. 

태그 load,model,time,elapsed
 다음글 HMVC 왜 메소드가 안읽혀질까요? (4)
 이전글 twitpic api upload (2)

댓글

변종원(웅파) / 2011/04/28 13:55:20 / 추천 0
현재 작성해주신 상황만 가지고 판단하기는 힘들지만

db로드가 자동으로 되어있는지? 자동으로 되고 있다면 db연결 시간을 체크해보시고
db성능 점검이 필요할 것 같습니다.
쑨어 / 2011/04/28 15:13:09 / 추천 0

db 로드를 자동으로 하고 있지는 않습니다.
웅파님 말씀대로 db 성능 점검을 해 보도록 하겠습니다~!


답변 감사합니다. 
tpae / 2011/04/29 05:08:48 / 추천 0
 안녕하세요.

혹시 속도에 문제가 있으시면, 메모리 사용도 보는게 좋습니다. 

controller __construct()에서 $this->output->enable_profiler(TRUE); 하면 속도와 메모리 사용을 볼수 있습니다.

주로 codeigniter는 1MB~3MB 사용하는게 좋은데요, 그것보다 높으면 속도에 지장이 있을수 있습니다.

메모리를 줄일때는 Memcache나 eAccelerator 사용하는게 좋습니다.