회원로그인 폼 회원가입 아이디찾기
SIR 디자인몰 바로가기 SIR 반응형웹 강좌 SIR 드로잉 강좌 SIR PHP 강좌

자유게시판

DB SESSION 포기합니다.

  • 관리자
  • 작성일시
  • 조회 1,415
  • 댓글 31

본문

요 며칠 저희 SIR의 홈페이지가 자주 다운되는 현상이 발생하였습니다.
아직 정확한 원인을 파악하지 못하였으나 가장 최근에 수정한 DB SESSION 부분의 코드가 원인이라고 잠정 결론을 내렸습니다.
DB SESSION은 페이지에서 session 을 사용한다면 페이지 로딩시 SELECT 한번 페이지 로딩후 INSERT or UPDATE 한번을 의무적으로 실행하게 됩니다.
아마도 이 코드가 DB쪽에 상당한 부하를 일으킨것 같습니다.
 
오늘 새벽에 기존의 FILE SESSION 으로 돌려 놓고서는 아직 DB가 뻗는 경우는 생기지 않았습니다.
 
기존의 FILE SESSION에서 DB SESSION으로 바꾼 이유는 PHPSESSID가 쿠키를 통하여 노출되고 이 PHPSESSID를 http://sir.co.kr/data/session/sess_PHPSESSID 와 같은 주소로 세션값을 알아낼수 있기 때문이었습니다.
 
기존의 common.php 에서 session_save_path("{$g4['path']}/data/session"); 이 코드를 삭제하고 시스템에서 기본으로 제공해주는 session.save_path 기본 /tmp 디렉토리를 사용하려고 하는데 어떤 문제가 생길수 있을까요?
지금와서 생각해보니 왜? data/session 경로를 사용한거죠? ㅠㅠ
  • 이 글을 내 페이스북 계정으로 보내기
  • 이 글을 내 트위터 계정으로 보내기
  • 이 글을 내 미투데이 계정으로 보내기
  • 이 글을 내 요즘 계정으로 보내기
  • 이 글을 내 구글플러스 계정으로 보내기

댓글보기

저도 그누보드 첨 보고 data/session으로 넣어둔 이유를 한참 생각했더랬습니다.
퍼미션 관련한 여러 문제를 data 디렉토리로 일괄처리하려고 첨에 생각했겠지.. 하는 추측 뿐이었는데.
data 경로는 생각해보니 웹 접근이 자주, 공개적으로 되어야 할 디렉토리기때문에 좀 문제가 있겠네요.
아무리 프로그램으로 파일명을 변경한다 해도 그렇게 하면 문제가있을테니까요.
제가 생각하기에, 만일 /tmp로 사용하더라도 문제가 되는것은, 공개된 보드 소스가 호스팅에서 사용될 때, 호스팅 회사에서 세션관리를 해야하는 경우가 생길 수 있겠네요.. 각 유저별로 세션관리가 어렵게 되겠죠. 초보자에겐 문제의 원인을 찾기 힘들어지는 경우도 될 수 있겠습니다.

data/session 을 사용하지 않으면 관리 또한 어려울수 있습니다.

.htaccess 에

  Deny from all

이런 코드로 접근을 완전히 제한하는것도 방법일것 같습니다.

시스템 기본 세션 경로는 웹에서 접근이 안되니 괜찮을듯 합니다.
서버에  DB세션을 적용한적이 있는데 DB부하로 잠깐 사용하고 내렸던적이 있습니다.

맘고생좀 하셨겠네요 ^^

라엘 2012.06.19 10:52:29 210.♡.208.232

흠.. 부하가 insert or update 에서 테이블락 거는 곳에서 생길거 같아요.

뭐 인덱스 잘 주실거 같고 table의 저장형을 innoDB 로 바꿔서 다시 시도해 보시는게 어떨까요?
(myisam은 table단위 lock, innodb는 row단위 lock)

그리고 저 같은 경우는 부하가 생기는 코드가 있을 때 javascript 요청으로 분리해 버립니다. 이 방법도 써보셔요.

배포본과 어느 정도는 비슷하게 가야됩니다.
너무 달라져 버리면 저희 사이트 수정도 힘들어서요. ㅠㅠ

db세션으로 부화 없이 하는 방법을 생각하는게 저는 더 좋을것같습니다.
일단 data 세션으로하면 세션삭제가 잘안되서 오래 유지했을대
자동 백업 돌려놓으면 백업때문에 부화가 더 심해지더라구요 오래 유지 될경우에요

사용자가 많은 사이트에서 디비에 session 거는거는 비추입니다.
(db에 조금이라도 무리가 가능 상황이 생기면, db세션과 시너지를 일으켜서 db를 뻗게 만들어버립니다. 특히 myisam 은 절대 db세션 쓰면 안됩니다.)

memcached 로 세션관리하는걸 추천드립니다.
L4 로드밸란서 없이 웹서버를 이중화 하는 경우에도 memcached가 db방식보다 훨씬 안정적입니다.

배포판 그누보드 때문이라면, 파일 기반으로 세션 핸들러를 만드셔야 할것 같네요. 깊이 생각할수록 어려워지는 문제네요.

동접 1,500~2,000 정도 되는 사이트에 DB방식을 테스트 하였다가ㄷㄷ 기겁하고는 이전 data/session 방식으로 되돌려 버렸습니다.ㅠ

중간 이상 사이트 같은경우는 제반사항도 어느정도 갇춰져야되기때문에
sir정도 사이트기준으로 그누원본작업을 하시면안될것같은데요
서버단도 같이 갇춰져야되는 문제라서요
db셀렉트가 부화가 심한것은 어차피 그누에서는 config 나 board 도 페이지 이동때마다
호출하기때문에 큰사이트 같은경우는 config 나 board 만 배열 처리 해도 속도는
빨라질것으로 보여요

그누규모의 사이트는 DB세션 안됩니다...ㅠㅠ

부하가 얼매나 많이 걸리는데요....그냥 파일세션으로 해도 됩니다.....

DB 세션 할려면, 돈을 엄청시리 투자 해야 합니다.....

저는 그냥 파일세션에 추천 한표.....

DB session을 이용하기 딱 알맞은 규모는 100명 이내가 딱입니다...

사실 DB session은 세션 관리 기법중의 하나정도라고 알고 있는게 맞습니다....

DB session을 실전에 이용한다는건 사실 빈대 잡을려고 초가삼간 다 태우는 격이랑 비슷한듯...

득보다는 실이 훨씬 큽니다....

램을 추가하셔서 heap 메모리로 올리는건 어떻게 생각하시는지요 =_=
파일 세션은 원래 웹 경로에 노출되면 안되는데 말이죠 ;; ㅠㅠ

동접자 5천명 이상 사용시 캐시 파일과 세션 파일은

memcache 나 램디스크에 올리면 됩니다

서버단을 수정할수 없으므로!
/tmp 보내 버리시면 될거 같습니다!

또는 디비 세션 파일 세션 사용 어느걸 사용할건지 체크박스 고고싱

/tmp로 보내면 문제 생겼던건 계정 뚫리고 나서 생겼던 문제 외엔 없었습니다.

/tmp는 777이기 때문에 실행 권한도 들어가서 가끔 디렉토리 숨겨놓고 perl스크립트 돌리는 경우도 있더라구요 -_-;; udp로 뭐가 자꾸 나간다고 해서 서버 확인해보니 tmp에서 뭔가가 돌아가더군요 ㅋㅋㅋㅋㅋㅋ

업데이트 기다리고 있겠습니다.
저도 리자님따라 db세션 안쓸라구요. ^^
괜히 혼자 수정했다가 뻑날까 겁나서요. ㅋㅋㅋ

제 소견에서는 크게 달라보이지 않는데 zebra-session으로 관리하면 부하가 덜 심한가요?

음.. 사용중인 사이트에 적용해볼수도 없구.. 궁금하네요.. @@ 사용해보신분 후기좀.ㅠ,.ㅠ

그런가요. 짐작이지만, 위에서 나온 문제점을 극복하지 못했다면 zebra session이 저렇게 소개 되지는 않을 듯해서요.

로그인 하시면 댓글을 남길 수 있습니다.

자유 !== 방종
질문은 내용에 맞는 게시판으로 이동됩니다.

자유게시판 내용 검색
TOTAL 110,721 RSS 글쓰기
자유게시판 목록
번호 제목 작성자 조회 날짜
공지 웹 표준/접근성 퍼블리싱 강좌 수요조사 댓글48 895 13.05.13
110721 포맷을 해야되는데 엄두가 안납니다 ㅠㅠ 댓글3 9 13.05.23
110720 윈도우에서 화일 일괄변환 9 13.05.23
110719 저도 이제 익스 7이하버전 호환 버릴까 생각중입니다..ㅇㅅㅇ; 댓글1 12 13.05.23
110718 얼마전 유사 디도스관련 글 올리신 분?(HashDoS) 댓글2 31 13.05.23
110717 개발하다 안되면 치킨집이나 차리지 뭐 댓글6 43 13.05.23
110716 크롬개발자 값 넘어갔는지 확인 하는 법 댓글1 29 13.05.23
110715 티스토리 초대장 있는 분 계시나요?? 댓글1 41 13.05.23
110714 벌써 목요일 이네요 .철야조 분들 오세요.~ 댓글12 43 13.05.23
110713 요즘 이것저것 바쁘네요.... 46 13.05.22
110712 이거 사이트 무슨 빌더인지 아시는분?? 댓글2 121 13.05.22
110711 만화그려볼려고 하는데 댓글9 78 13.05.22
110710 혹시 XML DTD 쪽에 잘 아시는분 ㅠㅠ 댓글1 55 13.05.22
110709 후힛 ㅋㅋ 전체 게시물 + 쇼핑몰도 같이 불러오게 완성했어요^^ 댓글1 53 13.05.22
110708 리얼클릭에서 일베 광고 차단했군요 댓글7 146 13.05.22
110707 크롬쓰시는분들중에 bootstrap 쓸때 : 이 이유없이 찍히는분 있나요 댓글7 84 13.05.22
110706 리쌍 논란을 전 이렇게 생각합니다. 댓글4 118 13.05.22
110705 제 스킨 다운 받으셨던 분들 다시 다운 받으세요...ㅡ.,ㅡ; 댓글3 96 13.05.22
110704 냐하하하 회원수 4200명 돌파하였습니다^^ 댓글8 123 13.05.22
110703 새로작성해요 고수님들 !! 댓글5 90 13.05.22
110702 공감 100% 도전 댓글3 88 13.05.22