텍스트큐브 메인 사이트 이상 및 복구 안내

Category : 기타/TNF
Reg Date : 2009/04/02 01:51

2009년 3월 30일부터 2009년 4월 1일까지 텍스트큐브 메인 사이트 및 notice, howto와 포럼 접속이 원활하지 않은 문제가 있었습니다. 원인을 분석하여 문제를 해결 하였습니다. 아래는 문제가 발생한 원인의 설명입니다.

사이트에 누가 접속했는지 관리하는 기능을 세션기능이라고 합니다. 텍스트큐브는 세션을 데이터베이스(mysql)를 사용하여 관리합니다. 그런데 텍스트큐브 메인 사이트의 세션 관리를 파일 기반 DB로 감당하는 것에는 한계가 있습니다. 그렇기 때문에 텍스트큐브 메인 서버는 텍스트큐브 1.8 베타의 메모리 DB 사용 기능(memcached 사용기능) 을 이용하여 세션을 메모리에서 처리합니다. 기존 메인 서버가 위치했던 TNF1이 2008년 10월 1일의 문제( http://notice.textcube.org/ko/147 ) 로 수리 절차에 들어간 이후, 텍스트큐브 메인 서버 및 포럼을 daybreaker님 의 개인 서버로 이전하여 운영 중입니다. 이후 이전한 서버 환경에 따라 memcached를 사용하지 않고 mysql MEMORY type 테이블을 사용하여 세션을 관리하고 있습니다.

그런데 메모리 타입 테이블의 메모리 총량은 mysql의 heap 메모리 크기에 의존하게 됩니다. 그런데 서버 이전 이후 새 서버의 메모리 DB 크기를 재설정하지 않아, 1시간내 접속자 수가 3천명이 넘는 경우 세션 테이블이 넘치게 됩니다. 세션을 만들 수 없게 되면 텍스트큐브는 같은 세션 아이디가 있기 때문이라고 판단하고 새로운 세션을 만드려고 시도하는데, 이 과정에서 100번을 시도합니다. 결과적으로 서버의 mysql 동작이 급격하게 느려지고, 접속이 불가능하게 됩니다. 기존에는 방문자가 문제를 야기할 만큼 많지 않았으나 지속적으로 접속자 수가 늘고 있어 이러한 경우가 발생하게 되었습니다.

문제를 알아낸 후 heap 메모리의 크기를 조정하고, 세션 유지 시간을 15분으로 줄였습니다. 또한 텍스트큐브 소스의 세션 설정 재시도 횟수를 최대 3회로 줄여 수정하여 trunk (2.0), 1.8 베타 및 1.7.8 에 반영하였습니다. 그러나 지속적으로 늘어나는 접속 유입을 감당하기 위하여 4월 중 메인 서버를 daybreaker님의 개인 서버에서 복구가 완료된 TNF1으로 다시 이전할 예정입니다.

원인을 알아내기 위하여 하드웨어 테스트를 포함한 다양한 테스트를 하느라 실제 원인을 알아내는 시간이 오래 걸렸습니다. 관련하여 개발 진행 및 다운로드, 포럼 접속에 불편을 겪으신 분들께 죄송합니다. T_T

2009/04/02 01:51 2009/04/02 01:51

Posted by 텍스트큐브

이 글의 관련글(트랙백) 주소 : 이 글에는 트랙백을 보낼 수 없습니다
  • Tracked from : blog/Draco 2009/04/02 09:15 DELETE
    Subject : 텍스트큐브 사이트 상태 이상

    설치형 텍스트큐브의 개발과 배포를 담당하고 있는 http://textcube.org/ 사이트가 상태가 이상합니다. 사이트가 위와 같은 에러를 내고 접속이 안되거나 아주 오래 걸려서 로딩이 이루어지는데, 하루종일 정상화 되지 않고 있네요.그저께는 서버오류로 다운로드가 불가능하다는 공지가 나온적이 있는데, 복구는 커녕 문제가 더 커져가고 있는 듯 합니다.최근에 텍스트큐브에서는 새로운 소식도 줄고, 새로운 스킨이나 플러그인도 보이지 않고, 유저들에게 인...

Comments
  1. 이정일
    2009/04/02 09:06  PERMALINK  MODIFY/DELETE  REPLY

    장애 관련 공지가 왜 안올라오나 했더니 이런 이유에서였군요.
    고생 많으셨습니다.

    • 텍스트큐브
      2009/04/04 18:18  PERMALINK  MODIFY/DELETE

      예 엎친데 덮친격이라는 어구가 생각나는 요즘입니다^^

  2. Draco
    2009/04/02 09:17  PERMALINK  MODIFY/DELETE  REPLY

    고생 많으셨군요.
    설명을 읽었더니 공부하는(?) 기분이..ㅎㅎㅎㅎ

    • 텍스트큐브
      2009/04/04 18:18  PERMALINK  MODIFY/DELETE

      ㅎㅎ 지금 죽어있는 howto 사이트의 기능을 대폭 강화하기 위해서 머리를 짜내는 중입니다.^^ 기대해주세요~

  3. 비밀방문자
    2009/04/07 11:37  PERMALINK  MODIFY/DELETE  REPLY

    관리자만 볼 수 있는 댓글입니다.

    • 텍스트큐브
      2009/04/15 02:14  PERMALINK  MODIFY/DELETE

      말씀하신 단점의 일부가 세션 테이블을 메모리 타입으로 운영하기에 좋은 이유입니다.^^ 세션 테이블의 데이터는 사고로 날아가도 아무런 문제가 없거든요. 3번 문제 때문에 문제가 있었는데, 일단 새 서버로 이전후 memcache 모듈을 사용하도록 옵션을 조정해 놓은 상태입니다.

      설명 주셔서 감사합니다.^^

COMMENT*
  *1   ... *10   *11   *12   *13   *14   *15   *16   *17   *18   ... *47