common.php 에서 session_start 부분이 문제가 있습니다.
본문
@session_start(); 에서 사이트 속도가 현저히 저하가 됩니다.
대략 600초정도
세션 관련해서 php.ini를 수정해보아도 문제가 해결이 안됩니다.
혹시 저문제 관련해서 해결하신분 계신가요?
common.php부분의 아래 부분 입니다.
//-------------------------------------------
// SESSION 설정
//-------------------------------------------
ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음
ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
session_save_path("{$g4['path']}/data/session"); // chmod 777 로 설정
// deny from all 과 같은 내용으로 .htaccess 있음
if (isset($SESSION_CACHE_LIMITER))
@session_cache_limiter($SESSION_CACHE_LIMITER);
else
@session_cache_limiter("no-cache, must-revalidate");
//==============================================================================
// 공용 변수
//==============================================================================
// 기본환경설정
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
$config = sql_fetch(" select * from $g4[config_table] ");
ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분)
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입니다.
session_set_cookie_params(0, "/");
ini_set("session.cookie_domain", $g4['cookie_domain']);
@session_start();
답변 2
흠.. 워낙 상황이 여러가지라
data폴더를 혹시 네트워크로 연결해서 쓰시거나 하면 속도 저하가 될수있습니다.
세션데이타자체는 작지만 i/o가 안좋은 상황의 네트웤드라이브라면 저하가 일어날수있겠네요
혹은 많은 유저의 접속일 경우에도 파일 i/o가 지속적으로 일어나니 저하될수도 있습니다만 그 상황은 아닌거 같네요
세션을 mem_chached로 바꿔보세요
Jangfolk 님 답변감사합니다.
환경은 전부 로컬 입니다. 1대의 서버에서 사용중 입니다.
파일 i/o 가 문제가 날정도로 사용중이지는 않습니다. (이용 동접자수가 많아야 3명정도 입니다.)