1

주제: Session Table 문제해결을 위해..

개발자 여러분들은 아시다시피 Tattertools 1.0.x 는 현재 MySQL 3.23 이상의 MyISAM 을 이용해서 만들어졌습니다.
그런데 ISAM 이 가지고 있는 문제들 아시죠 ? transaction 이 지원되지 않는다는것.. 그래서 서비스는 다른 형태로 구성되어야 하지요 smile

문제는 어느날 갑자기 로그인이 안되요 ..하는 분들이 간혹가다 생기시는 것 같습니다.
세션테이블이 깨지는 경우가 그 주 원인인데, 현재의 구조상에서 이를 해결하기 위한 방법을 논의해야 할듯 합니다.

일단 최단시간내의 해결방식으로 session 테이블을 리페어하는 php 를 하나 만들어서 배포하는게 어떨까 생각합니다.
로긴이 안되요 ... 라면 checkup 과 같이 그 파일을 실행시키는 것으로 말이지요..
원래 checkup 에 해당 루틴을 넣고자 하였으나, 실제로 테이블이 깨지는 경우를 만들어내지 못해서 홀딩해놓은 상태였죠 ^^

laziel 님.... 아마 이쪽에 조예(?)가 이미 깊으실텐데, session 쪽 테이블 리페어하는 php 하나 간단하게 만들어주시면 어떨런지요 ? config.php 참조해서 간단한 리페어 스크립트 하나 돌리면 될듯 한데여 ..


ps: 최근에 파파차님이 서비스를 위해서 밑도리 구조를 갈아엎는 중이신데.. 엄청나게 빨라지고 있답니다. 몇십배이상 ^^ TnC 구성원들은 100배가 안되면 튜닝이라 할 수 없다... 라는 말로 갈굼을 선사했지만 말입니다 ^^ ( 물론 MySQL 4.1 이상이라는 가정하에서지만여...... )

2

답글: Session Table 문제해결을 위해..

세션쪽을 trunk/lib/session.php 을 기준으로 변형하여 http://laziel.com/box/session.phps 에 넣었습니다. query 를 시도해보고, 이것이 결과가 없는것이 아니라 아예 불가능한 상황이라면 테이블이 깨진것으로 간주하고 repair 를 실행한뒤 다시 쿼리를 보내는 함수를 추가해두었습니다.

http://laziel.com/box/checkup.phps 에 현재 trunk 에 있는 checkup 스크립트 끝부분에 태터툴즈에서 사용하는 테이블을 점검하는 부분을 넣어두었습니다.

3

답글: Session Table 문제해결을 위해..

laziel 작성:

세션쪽을 trunk/lib/session.php 을 기준으로 변형하여 http://laziel.com/box/session.phps 에 넣었습니다. query 를 시도해보고, 이것이 결과가 없는것이 아니라 아예 불가능한 상황이라면 테이블이 깨진것으로 간주하고 repair 를 실행한뒤 다시 쿼리를 보내는 함수를 추가해두었습니다.

http://laziel.com/box/checkup.phps 에 현재 trunk 에 있는 checkup 스크립트 끝부분에 태터툴즈에서 사용하는 테이블을 점검하는 부분을 넣어두었습니다.

직빵이시군요 ~~ 이론과 실전을 겸비하고 계시네요 ^^ 끝내주십니다!!
... laziel.com 의 해당 링크를 연결하고 FAQ 에 추가하도록 하겠습니다.

4

답글: Session Table 문제해결을 위해..

안녕하세요?
말복입니다.
날이 더워서 그런지 잘 사용하던 태터가 갑자기 로그인이 안됩니다.
그래서 태터 묻고 답하기를 둘러보다가 여기까지 흘러왔는데요.
laziel 님께서 해결방법을 찾으신건 같은데, 초보인 저로서는 여기 있는 글만으로는 어떻게 해야 할지 모르겠군요 ㅡㅡ;
session.phps랑 checkup.phps를 실행하면 되는것 같은데(맞나요? ^^;).
조금 자세히 설명해 주시면 안될까요?

좋은사람 (2006-08-09 18:48:20)에 의해 마지막으로 수정

5

답글: Session Table 문제해결을 위해..

좋은사람 작성:

안녕하세요?
말복입니다.
날이 더워서 그런지 잘 사용하던 태터가 갑자기 로그인이 안됩니다.
그래서 태터 묻고 답하기를 둘러보다가 여기까지 흘러왔는데요.
laziel 님께서 해결방법을 찾으신건 같은데, 초보인 저로서는 여기 있는 글만으로는 어떻게 해야 할지 모르겠군요 ㅡㅡ;
session.phps랑 checkup.phps를 실행하면 되는것 같은데(맞나요? ^^;).
조금 자세히 설명해 주시면 안될까요?

개인적으로 해결하셔야 하는 경우라면 Sessions 테이블 (e.g. ttsSessions) 에 REPAIR TABLE 쿼리를 날리면 대부분 해결됩니다....만은;
사실 저렇게 하실 수 있다면 여기까지 오셔서 고생하실 필요가 없으실테지요 ㅎ ㅅㅎ;
여러가지 방법이 있습니다만 가장 간단한 것은, 서버관리자분께(호스팅업체) "ttsSessions 테이블이 깨졌으니 REPAIR 해주세요" 하시면 됩니다.

여기에서 tts 라는 붙임은 처음에 설치하실때 입력하신 접두어입니다.
보통 기본값으로는 tts 가 들어가 있는걸로 아는데, 취향에 따라 다른걸 입력하신 경우라면(예를 들어 tt_) tt_Sessions 같은 모양이 되겠지요.

저 위에 제가 링크한 phps 파트의 내용은 개발제안 정도라서 크게 도움이 되지는 못할거예요.
현재 테스트 단계인 태터1.1 버전에서 아마 말씀하신 부분에 대한 처리가 들어가지 않나 싶어요.

6

답글: Session Table 문제해결을 위해..

laziel 작성:
좋은사람 작성:

안녕하세요?
말복입니다.
날이 더워서 그런지 잘 사용하던 태터가 갑자기 로그인이 안됩니다.
그래서 태터 묻고 답하기를 둘러보다가 여기까지 흘러왔는데요.
laziel 님께서 해결방법을 찾으신건 같은데, 초보인 저로서는 여기 있는 글만으로는 어떻게 해야 할지 모르겠군요 ㅡㅡ;
session.phps랑 checkup.phps를 실행하면 되는것 같은데(맞나요? ^^;).
조금 자세히 설명해 주시면 안될까요?

개인적으로 해결하셔야 하는 경우라면 Sessions 테이블 (e.g. ttsSessions) 에 REPAIR TABLE 쿼리를 날리면 대부분 해결됩니다....만은;
사실 저렇게 하실 수 있다면 여기까지 오셔서 고생하실 필요가 없으실테지요 ㅎ ㅅㅎ;
여러가지 방법이 있습니다만 가장 간단한 것은, 서버관리자분께(호스팅업체) "ttsSessions 테이블이 깨졌으니 REPAIR 해주세요" 하시면 됩니다.

여기에서 tts 라는 붙임은 처음에 설치하실때 입력하신 접두어입니다.
보통 기본값으로는 tts 가 들어가 있는걸로 아는데, 취향에 따라 다른걸 입력하신 경우라면(예를 들어 tt_) tt_Sessions 같은 모양이 되겠지요.

저 위에 제가 링크한 phps 파트의 내용은 개발제안 정도라서 크게 도움이 되지는 못할거예요.
현재 테스트 단계인 태터1.1 버전에서 아마 말씀하신 부분에 대한 처리가 들어가지 않나 싶어요.

정말로 깨져있네요..
하지만 repair 할줄 몰라 그냥 서버관리자에게 laziel님 말씀대로 복구를 부탁드렸습니다.
이제는 기다리는 일뿐..
친절한 답변 정말 감사드립니다.

좋은사람 (2006-08-09 21:09:02)에 의해 마지막으로 수정

7

답글: Session Table 문제해결을 위해..

좋은사람 작성:
laziel 작성:
좋은사람 작성:

안녕하세요?
말복입니다.
날이 더워서 그런지 잘 사용하던 태터가 갑자기 로그인이 안됩니다.
그래서 태터 묻고 답하기를 둘러보다가 여기까지 흘러왔는데요.
laziel 님께서 해결방법을 찾으신건 같은데, 초보인 저로서는 여기 있는 글만으로는 어떻게 해야 할지 모르겠군요 ㅡㅡ;
session.phps랑 checkup.phps를 실행하면 되는것 같은데(맞나요? ^^;).
조금 자세히 설명해 주시면 안될까요?

개인적으로 해결하셔야 하는 경우라면 Sessions 테이블 (e.g. ttsSessions) 에 REPAIR TABLE 쿼리를 날리면 대부분 해결됩니다....만은;
사실 저렇게 하실 수 있다면 여기까지 오셔서 고생하실 필요가 없으실테지요 ㅎ ㅅㅎ;
여러가지 방법이 있습니다만 가장 간단한 것은, 서버관리자분께(호스팅업체) "ttsSessions 테이블이 깨졌으니 REPAIR 해주세요" 하시면 됩니다.

여기에서 tts 라는 붙임은 처음에 설치하실때 입력하신 접두어입니다.
보통 기본값으로는 tts 가 들어가 있는걸로 아는데, 취향에 따라 다른걸 입력하신 경우라면(예를 들어 tt_) tt_Sessions 같은 모양이 되겠지요.

저 위에 제가 링크한 phps 파트의 내용은 개발제안 정도라서 크게 도움이 되지는 못할거예요.
현재 테스트 단계인 태터1.1 버전에서 아마 말씀하신 부분에 대한 처리가 들어가지 않나 싶어요.

정말로 깨져있네요..
하지만 repair 할줄 몰라 그냥 서버관리자에게 laziel님 말씀대로 복구를 부탁드렸습니다.
이제는 기다리는 일뿐..
친절한 답변 정말 감사드립니다.

카페24를 사용중인데
mysql 웸 어드민에 복구 메뉴가 있군요!
다행히 복구했습니다.
정말 감사드립니다!