팁 - 세션을 메모리에...

· 댓글 : 4 조회 : 2901 · 8

조금이라도 서버를 다루시는 분이라면

다들 아시는 내용이겠지만...

 

모르시는 분들도 있으리라 생각되어 적어봅니다.

 

RB는 기본적으로 가벼움을 무기로

한발 한발 나아가고 있지요.

 

아직까지는 부족한 모듈이나 위젯등으로 인하여

사용자층이 많지는 않지만 앞으로는 많아지겠지요.

( 개인적으로 플러그인모듈이 생기면 좋겠다는 생각..

   - 현재 plugin 폴더는 플러그인이 아닌 위젯의 일종일뿐이니까요. )

 

개인적으로 Wp와 drupal을 좋아하는데요.

제가 wp를 사용할 때 가장 먼저 설치하는 모듈이

바로 캐싱 모듈이랍니다.

 

super cache, total cache등...

 

국내 다른 오픈소스들에도 캐싱모듈을 지원하고 있습니다만

아직까지는 RB에는 없는 이유가 아마도

RB에서는 플러그인을 지원하지 않기 때문이지는 않나 싶네요.

 

전체적인 캐싱모듈을 만들자면 시간도 꽤 들듯 싶고

현재 저는 아예 서버단에서 캐싱을 해버려서....^^...

( 나중을 대비하여 캐싱모듈을 만들어볼까는 하지만.. )

 

여튼 각설하고....

 

전체적인 캐싱을 하자면 상당히 많은 부분을 수정해야하기에

일단 간단팁으로서

 

세션을 메모리에서 사용하면 무척이나 효율이 뛰어나게되죠.

( 아....이건 세션저장소를 변경하는 것이라 캐싱과는 상관 없습니다만. 차후에 적을 내용에

함께 필요해서....캐싱에 관하여 적었네요.. )

 

 

여튼.!!

 

RB는 ./tmp/_session의 디렉토리에

파일 세션을 사용합니다.

 

현재 세션을 이용하여 RB에서 특별한 역할이 있다면 달라지겠으나

현재로서는 RB에서의 세션은 단순한 정보 저장만을 담당하고 있습니다.

그렇기에 메모리로 옮기는 것이 더욱 빠른 속도를 보장해주겠죠.

 

디스크에 write하는 것과 메모리에 write 하는 것은 속도차이가 날 수 밖에 없죠.

( 남이 버린 PC 주어다가 만든 제 테스트 서버에서도 거의 4배 이상이 차이납니다. ^^ )

 

본론 들어갑니다..ㅋㅋㅋ

 

index.php

session.save_path('/_tmp/session')

라는 내용이 있습니다.

 

이는 말 그대로 ./_tmp/session에 세션파일을 기록하겠다는

내용입니다.

 

이 부분을 주석처리 한 후

function SessionHandler ($var)
{
 switch ($var):
  case 'memcache':
   ini_set('session.save_handler','memcache');
   ini_set('session.save_path','tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15');
   break;
  default:
   ini_set('session.save_handler','files');
   ini_set('session.save_path',$g['path_root'].'_tmp/session');
 endswitch;
}
SessionHandler('memcache');

 

이렇게 넣어주시면

파일세션 -> memcache로 이동합니다.

단! 이는 memcache가 설치되어있어야만 합니다.

 

memcache대신 apc를 활용해도 충분하겠죠.

 

함수처리한 이유는

sessionhandler에 해당변수를 변경하는 것만으로

간단히 처리하기 위함일뿐 특별한 의미는 없습니다.

 

세션을 옮기는 것만으로도 속도는 업!

효율 증대!!

 

이상 작은 팁이였습니당.

통계분석을 위해 매체별 전용URL 사용해주세요.
수이님의 포스트
최근 리스트
리스트가 없습니다.