웹마스터 팁

안녕하세요^^


저는 CMS를 가지고 프로젝트를 종종 합니다.


특히 XE를 오래전부터 다루어오다보니 XE가 어렵지만... 어느정도 다룰줄 알게 되었고 무엇보다 친근감이 생겨 더욱 애착이 갑니다.


여러분께서 알아두시면 좋을듯하여 얼마전에 제가 처리한 문제에 대하여 말씀드리고자 합니다.


문제의 요지는 DB LOCK으로 인해 CPU사용률이 증가하고 서버내의 같은 DBMS를 사용하는 사이트들이 모두 마비가 되는 증상이었습니다.


실제로 CPU 사용량이 97%이하로 떨어지지가 않더군요


서버에는 국내의 유명한 CMS들이 골고루 들어가있었구요...


CMS들을 여러개 다루다 보면 DB의 테이블명이라던지, 컬럼명에 대해서는 어느정도 눈에 익어있습니다.


DB의 I/O를 체크했더니 prefix가 xe_로 붙은 테이블에서 엄청난 요청이 들어오더군요...


둘중 하나였습니다.


1. 엄청나게 user수가 많아 동접자수의 증가로인해 서버에서 감당하지못할만큼의 요청이 오는 것


2. 봇/스팸에 엄청난 요청


우선은 DB로 요청되는 query들을 보았습니다.


몇가지가 섞여있긴 했지만 역시나 xe_member테이블과 xe_documets테이블로 요청이 들어오고 그다음부터는 Lock Lock Lock Lock .....


2번을 의심할수밖에 없는 상황이었던것이.. documents 테이블로 들어오는 부분이 모두 영어로 되어있더군요...


우선 xe_documents 테이블로 가서 쌓여있는 row들을 보았더니... 아니나 다를까더군요.


수십만개의 row들이 거의 영어로 쌓여있더군요.


우선은 판명된 원인에 대한 설명과 시행항 조치에 대해 말씀을 드리고


초치를 시작했습니다.


조치란 별것이 아니었습니다.


XE는 캡챠가 있으므로 캡챠에 대한 설치를 진행하십사 말씀드리고


우선 지금 들어오는 요청에 대한 부분을 막아야 하므로


1. 회원가입조건에 관리자의 승인이 있어야 가입할 수 있도록 조치하였고


2. 해당 사이트의 모든 게시판에 대해 접근권한을 로그인사용자 이상으로 처리해버렸습니다.


요청이 너무 많은 상태라 관리자페이지를 한페이지한페이지 띄우는데도 수분이 걸리더군요...


이 후 CPU 사용량이 50%이하까지 쭉쭉 떨어지더군요....


위와 같은 조치는 임시적인 조치 입니다.


서버의 OS단에서 특정IP에 대한 접속시도를 막는다던지, 캡챠(애드온? 모듈?)을 사용하셔서 무분별한 봇의 공격(?)에 꼭 대비하시기 바랍니다.


자체서버를 사용하시는 분들중에는 서버전문가가 아닌 분들도 계시므로 이러한 부분들에 대한 문제가 빈번히 일어날수 밖에 없다고 봅니다.


저런 상황에 마주치면 더욱더 당황스러워져서 놓치기 쉬워질수도 있지요.


여러분들께서 모두 알고계신 내용일 수도 있습니다만, 공유할만한 사례 및 조치방법이란 생각에 몇자 적어보았습니다.


긴글 읽어주셔서 감사합니다.

제목 글쓴이 날짜
글을 읽을때마다 조회수 증가 하게 하는 팁 [19] 비밀얌 2007.11.06
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] 비밀얌 2007.11.13
간편해진 페이지 수정법 file coll 2007.11.16
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] 팔공산 2007.11.27
익명게시판 - 문제가 아직 많습니다. (다시 수정) [11] file 올챙이 2007.12.06
로그인 안되서 files 폴더 지우셨던 분들!! [3] file 율랑 2007.12.11
권한없는 모듈을 만났을때 로그인 페이지 띄우기.. [10] 똑디 2007.12.11
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] 길치객 2007.12.12
최근 댓글이 가장 위로 정렬 [2] 쏘프티 2007.12.20
외부프로그램(페이지)에서 zbxe 로그인 정보 연동하기 [33] file 도데군 2007.12.23
제로보드에서 로그인후 테크노트에서 로그인정보 사용하기 [4] JinHoHan 2007.12.26
레벨에 따라 자동으로 그룹 변경하기 [11] 지연아빠 2007.12.29
xe에 라이프팟 연동하기 [6] 가클 2007.12.30
내 홈페이지에 구글 검색용 애드센스 달기 file RulruRalra 2008.01.01
외부로그인-특정 페이지에 로그인창만 나타나게 하고 로그인하면 메인페이지로 이동하기 [11] 레드맨 2008.01.02
관리자 페이지 않나오게 하기 [1] Diver 2008.01.04
여러 서버에서 하나의 회원목록 관리&사용 [24] 화니군 2008.01.04
숫자 아이디 사용법 [6] Slick 2008.01.10
홈페이지에 예쁜 날씨 배너를 달아보자!!!! [3] file blue7376.myid.net 2008.01.28