RadarURL

웹 프로그래밍
2013.03.19 08:26

XE는 무조건 InnoDB

조회 수 7482 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 인쇄
Mysql에서 기본으로 사용되는 스토리지 엔진은 보통 MyISAM다. 전통적으로 많이 사용되어 온 형태로, 데이터 변경이 크게 없고 읽기가 많은 경우-즉 혼자 글을 쓰고 공개하는 블로그 등에서 효율적이며, CPU나 메모리의 성능보다는 스토리지의 성능에 더 영향을 받는다고 한다. 그리고 InnoDB는 트랜잭션이니 뭐니 여러 기능이 추가/향상되어 나온 엔진으로, CPU와 메모리에 비례해 성능이 향상되며 읽고 쓰기가 많은 경우에 유용하다. 가장 큰 차이는 트랜잭션의 지원 유무지만, xe를 쓰는 우리에게 있어서 가장 중요한 차이점은 DB에서 데이터를 변경할 경우 테이블 단위로 락을 거는 MyISAM과 달리 행 단위(row-Level)로 락을 건다는 것.

 사실 제로보드4 시절엔 DB 상태가 어쩌고에 관심도 없었고, 그런 거 몰라도 빠릿빠릿하게 잘 굴러가던 게 제로보드라 신경 쓸 필요도 없었다. 그렇다 보니 제로보드의 게시물/덧글 db가 어떻게 되어있었는지는 모르겠는데, 최근 xe의 속도를 이야기하며 가장 문제시되는 부분이 게시물/덧글을 xe_comments와 xe_documents 테이블 하나씩에 그대로 전부 때려박는다는 것이다. 그래서 앞서 말한 MyISAM의 table-level lock, 테이블 단위 락이 여기서 문제가 된다. DB에서 테이블의 데이터를 변경하는 경우, 동시에 다른 사용자가 해당 데이터를 변경하거나 해서 오류가 발생하지 않도록 데이터를 잠그게 되는데, xe는 모든 걸 하나의 테이블에 때려박아둔 덕분에 이 큰 테이블 자체가 잠겨버리게 된다. 대다수의 세션이 Lock wait 상태에 빠질 수 있는 것. 실제로 게시물도 유동인구도 몇 안되는 절대넷마져도 간간히 접속이 끔찍하게 늦어지는 상태였고, 실제 슬로우 쿼리 로그도 xe_documents의 겨우 게시판 두 개에 쿼리 날리는 와중에 걸리는 부하였다.

 이를 해결하기 위해 게시물 카운트를 자른다거나 무슨 캐시를 먹인다거나 여러 복잡한 방법도 시도도 많은 모양인데, 웹이고 디비고 뭐고 지식이 전무하다 보니 봐도 쫓아갈 수가 없었고, 가장 간단해보이는 해결책이 DB엔진을 InnoDB로 변경하는 것이었다. InnoDB는 데이터 변경에 대해 테이블 자체를 잠궈버리는 MyISAM과 달리 row-Level, 행 단위로만 데이터를 잠그기 때문에 테이블에 데이터 변경이 일어나고 있어도 동시에 다른 데이터 액세스가 가능하다. 물론 그 덕분에 처리해야 할 양이 상당히 늘어나는 게 부담이긴 하지만, 위젯 출석 로또 글쓰기 등 다양한 쓰기 활동이 동시에 일어나는 상황에서는 훨씬 유용하다고 생각한다. 게다가 그렇게 큰 규모도 아니고.

 사용하던 MySIAM 테이블을 InnoDB로 변경하는 건 간단했다. 혹시를 대비해 일단 디비 전체를 백업해두고, phpmyadmin의 쿼리 메뉴에서
alter table 테이블명 type=InnoDB;
을 날려서 변경했다. 그리고 xe의 디비 설정도 수정해야 한다. /files/config/db.config.php 를 열어서
$db_info->master_db = array('db_type' => 'mysql_innodb','db_port' => '3306','db_hostname' => 'localhost','db_password' => '암호','db_database' => '이름','db_userid' => '이름','db_table_prefix' => 'xe_');
$db_info->slave_db = array(array('db_type' => 'mysql_innodb','db_port' => '3306','db_hostname' => 'localhost','db_password' => '암호','db_database' => '이름','db_userid' => '이름','db_table_prefix' => 'xe_'));
db_type 부분도 mysql_innodb로 수정한다.


 좀 지켜봐야 알겠지만, 지금 당장은 꽤 빠른 듯한 착각이 좀 든다. 아참, 내부 게시판을 포함해 30~40MB 남짓했던 걸로 기억하는 DB 용량이 엔진 변경 후 갑자기 90MB 가까이 뛰어 깜짝 놀랐는데, InnoDB의 특성이라는 것 같다. 약 2배 정도 몸집이 불어난다.

 

 

출처 : http://zettaisya.egloos.com/2988412

TAG •
?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 2007007
2616 u-E(활성화) 본식DVD, 웨딩영상 색감이 중요한 이유새 창 열림 new 힘겨운귤35 2026.10.05 0
2615 공지 대전, 인천, 세종 하수구 막힘 문제 해결 방법 new 정열적인코요테90 2026.10.05 3
2614 취미 <문경맥주> 구입 할 수 있는 곳은 새 창 열림 new 타오르는드래곤61 2026.10.05 1
2613 데이터베이스 강남건전지❤️OlO-8655-OO53❤️친절문의환영 #강남건전지 #강남유니콘 #선릉유니콘 #강남건전지위치 #선릉역건전지#대치동유니콘 #강남바커스 #선릉바커스 #선릉역바커스 #강남룸클럽 #선릉룸클럽 #강남베터리 #강남바데리 new 괴랄한재규어89 2026.10.05 1
2612 사무 소프트웨어 용인두피문신 고민? 만족 후기 보려면 new 날카로운꿩11 2026.10.05 4
2611 논문 카­톡 gusim8003 급전/내구제 (24시문의) 폰테크 소액대출 선불폰 가개통 new 타오르는켄타우로스86 2026.10.05 1
2610 윈도우즈 웨딩누브라, 완벽한 드레스 핏을 위한 선택 new 날카로운감시자22 2026.10.05 1
2609 인터넷 성공적인 중고화물차 선택, 현명한 가이드 new 붉은드래곤50 2026.10.05 2
2608 가상화 인천맛집 순위 new 차가운파편97 2026.10.05 2
2607 응용 프로그래밍 완벽한 웨딩드레스 핏의 비밀, 웨딩누브라 new 힘겨운암석76 2026.10.05 1
2606 카메라 파주누수업체, 신속 해결 전문가의 비결 new 차가운에메랄드79 2026.10.05 1
2605 u-E(통합센터) 올해의 핫플 선정 간석동 마블! 010&&8923&&0291 new 교활한감시자99 2026.10.05 1
2604 웹서버,WAS 손목터널증후군 치료, 현명한 선택 기준은? new 괴상한두루미52 2026.10.05 1
2603 u-E(통합센터) 손목터널증후군, 두팔로정형외과에서 해답을 찾다 new 눈부신백마법사86 2026.10.05 2
2602 응용 프로그래밍 골든타워 010 2817 0845 골타문의 편하게 알아보는 셔츠룸 new 속삭이는미노타우르93 2026.10.05 2
2601 u-E(TestBed) 특별한 기념품제작, 판촉물365 new 광기의태풍18 2026.10.05 1
2600 건강 대전누수 문제, 청년연합누수가 답이다 new 몽환적인삵34 2026.10.05 2
2599 u-E(법,정책) 양산싱크대막힘, 뚫자하수구에서 한 번에 해결 낙관적인유니콘42 2026.10.05 1
2598 가상화 최근 테헤란로 벤처 밸리의 핵심 리더들 사이에서 ‘클래스가 다른 정통 수질과 프라이빗 무드’로 소문 자자한 '선릉 룸싸롱' 기습 방문, 인공미를 거부하는 무결점 뉴페이스들과 심장을 마비시킨 사심 플러팅에 제대로 저격당하고 온 솔직 후기 희미한홍학99 2026.10.05 4
2597 웹서버,WAS 카­톡 gusim8003 급전/내구제 (24시문의) 선불폰 소액결제 일수 급전대출 황금빛섬광82 2026.10.05 2
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 131 Next
/ 131


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너