제목 | 코드이그나이터 메모리 사용량에 관한 질문 | ||
---|---|---|---|
글쓴이 | 피스트 | 작성시각 | 2013/01/14 01:44:46 |
|
|||
안녕하세요 현재 안드로이드 폰에서 사진과 간단한 정보를 다운받는 용도로 서버에다 코드이그나이터를 설치해서 RESTful API를 제공하는 용도로 쓰고있는데요.(앱에서 도메인 주소를 통해 서버의 사진과 데이터를 요청하여 받아옴) 제가 이해가 부족한 상태에서 구축한터라, 한 클래스에 모든 함수를 몰아넣고 생성자 에서 아래와 같이 public function __construct()
{
parent::__construct();
$this->DB1 = $this->load->database('database_basic', true);
$this->DB2 = $this->load->database('database_master', true);
$this->load->model('app_model');
$this->load->helper('download');
$this->load->helper('date');
}
모든 모델들을 로드하고 있습니다. $this ->output->enable_profiler(TRUE) 메소드를 이용해서 체크를해보니 |
|||
다음글 | 업로드 파일명을 배열로 했을 때 (1) | ||
이전글 | or_like 질문입니다. (5) | ||
한대승(불의회상)
/
2013/01/14 09:11:06 /
추천
0
단순계산하시는게 맞습니다.
|
피스트
/
2013/01/14 13:06:01 /
추천
0
헐..엄청 잘못짰군요;; 불의회상님 답변 감사드립니다.
그런데 또 질문이 있는데요 코드 이그나이터가 언제 메모리에 올라오나요? 앱에서 http:/mydomain.com/appmain/func1/ 이런식으로 코드이그나이터의 함수를 호출할 경우, 그때 그 함수가 속한 클래스가 메모리에 올라오면서 생성자 호출 후 함수가 호출되는 것 같은데 제 추측이 맞나요? 그렇다면 같은 사용자의 앱에서 시간차를 두고 계속 http:/mydomain.com/appmain/func1/ http:/mydomain.com/appmain/func2/ 이런식으로 호출할 경우 메모리 3메가(코드이그나이터가 점유하는 메모리 크기)를 계속 점유하였다, 해제하였다를 반복하는 것인가요? 제 추측이 맞다면 너무 비효율적인 것 같은데.. RESTful API를 구축하기엔 코드이그나이터가 맞지 않는것인지, 가르침 부탁드립니다 (__) |
변종원(웅파)
/
2013/01/14 22:13:32 /
추천
0
어떤 기능을 만드신건지는 모르겠지만 2-3메가가 정상적입니다.
점유했다 해제했다... 이건 어쩔 수 없는 php 특성입니다. 그래서 앱을 만들때 모든 액션을 1:1로 처리하지 않고 가능하면 모아서 처리하거나 초기 로드시 첫번째 페이지에 해당하는 데이터를 모두 받는 등 기술적(?) 분산이 필요합니다. |
이현석
/
2013/01/14 23:41:06 /
추천
0
|
피스트
/
2013/01/15 01:18:33 /
추천
0
두분 모두 답변 감사드립니다. 알려주신 프로젝트 한번 살펴봐야겠네요 ^^
|
변종원(웅파)
/
2013/01/15 09:18:58 /
추천
0
이현석/ 저는 hook으로 전처리기(request 처리), 후처리기(response 처리)하게 하고
컨트롤러에서는 특정변수를 받아 모델 처리후 특정변수에 담기만 하면 끝나게(개발자가 비지니스로직에만 전념하게) 해서 사용중입니다. 남겨주신 링크도 깔끔하게 작업되어 있네요. |