세션삭제 관리를 위한 아래팁을 G5에 적용할 수 있을까요?
본문
세션삭제 및 관리를 위해 그누보드4에 올려져 있던 팁인데요.
https://sir.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=15945
이대로 할 수 있다면 많은 도움이 될 것 같은데요.
혹시 G5에서도 위의 팁을 적용할 수 있을까요?
어느 부분을 수정해서 사용하면 될까요?
답변 3
맨처음 부분에 넣으세요
$g4[table_prefix] = G5_TABLE_PREFIX;
$g4[server_time] = G5_SERVER_TIME;
$g4[time_ymdhis] = G5_TIME_YMDHIS;
세션 파일 정리는 php에서 자동으로 해 주고 있습니다.
//==============================
// SESSION 설정
//------------------------------------
ini_set("session.gc_maxlifetime", 10800); // session data의 garbage collection 존재 기간을 지정 (초)
ini_set("session.gc_probability", 1); // session.gc_probability는 session.gc_divisor와 연계하여 gc(쓰레기 수거) 루틴의 시작 확률을 관리합니다. 기본값은 1입니다. 자세한 내용은 session.gc_divisor를 참고하십시오.
ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probability와 결합하여 각 세션 초기화 시에 gc(쓰레기 수거) 프로세스를 시작할 확률을 정의합니다. 확률은 gc_probability/gc_divisor를 사용하여 계산합니다. 즉, 1/100은 각 요청시에 GC 프로세스를 시작할 확률이 1%입니다. session.gc_divisor의 기본값은 100입니다.
링크에 있는 내용은
skin/member/basic(사용중인스킨)/login_check.skin.php
에 하라고 되어 있네요.
답변 감사 드립니다. 세션이 많이 쌓인 계정에 위의 두가지 프로세스 팁을 각각 적용해 봤는데요.
세션 삭제는 빠르게 잘 되는데 삭제되는 동안 사이트 접속이 많이 늦어지네요.
아마도 위의 소스를 실행하는 동안에 DB리소스에 영향을 미치는 것 같습니다.
이 부분의 영향을 주지않고 삭제할 방법은 없겠지요?
일단은 기존에 쌓인 세션이 워낙 많아서 (10000000개 이상) 접속이 드문 심야시간대에
위의 팁을 적용하는 방법으로 해결해야 할 것 같네요.
두분 모두 도움 감사 드립니다.