웹마스터 팁

안녕하세요^^


저는 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에 대한 접속시도를 막는다던지, 캡챠(애드온? 모듈?)을 사용하셔서 무분별한 봇의 공격(?)에 꼭 대비하시기 바랍니다.


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


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


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


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

제목 글쓴이 날짜
웹서버 php에서 한글언어 깨지거나 오류날때 방법@ 뭘봐첨봐 2015.01.19
사이트 종합해서 접속자 아이피 검색 file StyleRoot 2015.01.19
kin 모듈 게시물 -> board로 게시물 옮기기 편법 file 꾸링 2015.01.20
누리고 쇼핑몰 상품취소 혹은 반품시 마일리지 자동회복하기 [6] garnecia 2015.01.21
익명게시판에서 임시저장된 글을 불러와 등록하면 익명처리되지 않고 글쓴이 정보가 기록되는 버그 수정 [1] sejin7940 2015.01.23
사용자 매뉴에 회원정보와 포인트설정 바로가기 기능 삽입 [1] file 간장게장같은남자 2015.01.23
사용자정의 중 전화번호 형식을 쓰는경우 - 사이에 한칸씩 여백이 생기는 걸 없애는방법 [1] sejin7940 2015.01.23
게시판에서 태그 기준으로 검색하면 임시저장글들도 노출되는 버그 수정 sejin7940 2015.01.23
DB LOCK으로 인한 사이트 마비와 사례, 조치 [2] onTrust 2015.01.24
부트스트랩 관련 버튼안에 체크박스 돼지코구뇽 2015.01.25
xe 폰갭 제작시 admob 광고 글쓰기 방해 하지 않으려면 한꼬마 2015.01.26
템플릿등에서 PHP 제어 구조(if, for, foreach)의 대체 문법 적용 [3] 총모아 2015.01.30
누리고 쇼핑몰 - 배송비가 표시 안되는 경우에 [7] garnecia 2015.01.31
회원가입후 24시간 이후 글작성 가능하기 [2] 샵사이드 2015.02.09
카카오 API로 로그인창 만들어 봤어요~~ ^^ [6] file 컴박살 2015.02.12
300기가 Zboard4->XE 이전기 [14] file forest535 2015.02.13
snoop가 안될때 curl 로 가져오기 [3] 한꼬마 2015.02.13
데이타 이전 시 xml 파일 임포트 속도 높이기 ^^ forest535 2015.02.17
xe core 설치 화면 오류 있습니다. 이렇게 바꿔주세요. [2] 한꼬마 2015.02.18
스케치북 최신버전에서 미리 덧글 입력해두기 [5] file LI-NA 2015.02.18