Background Image

FORUM

조회 수 28430 추천 수 0 댓글 22
?

단축키

Prev이전 문서

Next다음 문서

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

회원수가 약 20만이고 문서 수십만개, 댓글 수백만개 정도 되는 규모의 커뮤니티입니다.

지난 번에 새 MIT의 도움을 받아서 마이그레이션도 무사히 마쳤는데요 XE를 이전하고나니 로그인 단계부터 속도가 너무 느립니다.

처음에는 노후된 서버의 탓일까 싶어 비교적 사양이 높은 다른 서버에도 이전을 시도해 봤는데 속도가 느린 현상은 여전하더군요.

무엇이 원인인지 정확하게는 몰라서 어떻게 도움을 받아야 할지 막막합니다. 제가 체크해 볼 수 있는 것들과 이런 현상이 일어날 수 있는 원인에는 어떤 것들이 있을까요?


구체적인 현상으로

  • 처음 이전 후 로그인 시 2~3분 이상 걸림
  • 게시물을 읽을 때도 수십초에서 수분이 걸림


운영체제는 sulinux(32bit)이고 DB는 xml로 덤프한 후 파일을 이용해서 마이그레이션 했습니다.

apache 2.2, php 5.3.6, xe1.4.4.1 이고 서버들은 다른 목적으로는 사용되는 않는 테스트/개발 서버이기 때문에 큐브리드 이외에 부하를 받는 것은 없고 cubrid broker status -s1 broker1 -b 로 TPS와 QPS를 확인해 봐도 게시물을 확인하는 초기에 순간 올랐다가 계속 0/0 으로 반응이 없습니다.


참고로 같은 서버에 cubrid+xe를 새로 설치해서 로그인하거나 게시물을 작성할 때는 전혀 문제가 없습니다.


도움 말씀 부탁드립니다~

  • ?
    샤롱스판 2011.08.08 19:19

    흠.. 여러 XE사이트를 cubrid로 전환한 사례를 보았는데, 말씀하신 사항(처음 이전 후 로그인 시 2~3분 이상 걸림, 게시물을 읽을 때도 수십초에서 수분이 걸림)은 처음인 것 같습니다. 그렇다고 해서 DB성능이 문제가 될 수준의 서비스 규모도 아닌 것 같은데요. 혹시 저희가 현상을 직접 볼 수 있도록 테스트 서버의 접속 정보를 주실 수 있으신가요? 비밀글로 부탁 드리겠습니다.

  • ?
    엔하늘 2011.08.08 21:48 SECRET

    "비밀글입니다."

  • ?
    이성룡 2011.08.08 19:29

    compactdb 명령을 이용하여 DB를 한번 정리해보세요.

    저도 다른 응용에서 쿼리실행이 30초 걸리는 현상이 발생한적이 있는데

    compatdb명령을 실행하고 나서 0.2초 이내로 줄어들었습니다.

     

    명령:

    cubrid compactdb <dbname>

     

     

  • ?
    엔하늘 2011.08.08 21:38

    답변 감사합니다. 말씀하신대로 해 보았는데요 여전히 속도가 느립니다. 아마 또다른 문제가 있는 것 같습니다.

  • ?
    cgkang 2011.08.08 23:04 SECRET

    "비밀글입니다."

  • ?
    엔하늘 2011.08.09 00:18 SECRET

    "비밀글입니다."

  • ?
    샤롱스판 2011.08.09 00:42

     

     

  • ?
    엔하늘 2011.08.09 00:50 SECRET

    "비밀글입니다."

  • ?
    cgkang 2011.08.09 01:53 SECRET

    "비밀글입니다."

  • ?
    엔하늘 2011.08.09 03:06

    아 그렇군요.그럼 컬럼 네임을 적는 자리에 indi_comments에 있는 모든 컬럼을 다 적어주면 되는 것인지요?


  • ?
    seongjoon 2011.08.09 03:13

    일반적으로 xe 설치시에 생성되는 index는 아래와 같습니다.

    INDEX indi_comments_idx_module_srl ON indi_comments (module_srl);
    INDEX indi_comments_idx_document_srl ON indi_comments (document_srl);
    INDEX indi_comments_idx_voted_count ON indi_comments (voted_count);
    INDEX indi_comments_idx_blamed_count ON indi_comments (blamed_count);
    INDEX indi_comments_idx_member_srl ON indi_comments (member_srl);
    INDEX indi_comments_idx_uploaded_count ON indi_comments (uploaded_count);
    INDEX indi_comments_idx_regdate ON indi_comments (regdate);
    INDEX indi_comments_idx_last_update ON indi_comments (last_update);
    INDEX indi_comments_idx_ipaddress ON indi_comments (ipaddress);
    INDEX indi_comments_idx_list_order ON indi_comments (list_order);
    PRIMARY KEY pkey_indi_comments ON indi_comments (comment_srl);
    INDEX indi_comments_list_idx_list ON indi_comments_list (document_srl, head, arrange);
    INDEX indi_comments_list_idx_date ON indi_comments_list (module_srl, regdate);
    PRIMARY KEY pkey_indi_comments_list ON indi_comments_list (comment_srl);

  • ?
    엔하늘 2011.08.09 04:10

    PRIMARY KEY의 경우에는 인덱스를 따로 생성하지 않아도 되는 것이 맞는지요?

    나머지 인덱스를 다 생성했음에도 불구하고 여전히 현상이 고쳐지지 않습니다.

    디비 마이그레이션을 처음부터 다시 시작하면 혹시 이 문제가 해결될 수 있을까요? 왜 comments 테이블이 인덱스 생성 과정에서 누락되었는지 모르겠습니다.

  • ?
    샤롱스판 2011.08.09 19:51

    마이그레이션을 수행하면서 comments 뿐 아니라 상당수 테이블에서 인덱스가 누락된 것으로 확인됩니다. 혹시 mysql 에서 내린 XML 파일이 있으시면 비밀글로 첨부 부탁 드리겠습니다. CMT를 사용하여 마이그레이션을 하셨을 것 같은데, 어떤 방식으로 진행하셨는지 알 수 있을까요? 어디서 인덱스 누락이 되었는지 현재 알수 없는 관계로 mysql dump file을 주시면 저희가 재현해보고 연락을 드리도록 하겠습니다.

  • ?
    엔하늘 2011.08.09 19:57 SECRET

    "비밀글입니다."

  • ?
    cgkang 2011.08.09 22:53

    indi_comments와 indi_comments_list 테이블에 인덱스는 만들어 졌는데,

    primary key가 만들어져 있지 않아서 PK를 참조해야 하는 질의의 성능이 나오지 않고 있습니다.

    두 테이블에 PK는 다음 쿼리로 생성할 수 있습니다.

    alter class indi_comments add constraint pkey_indi_comments PRIMARY KEY (comment_srl);
    alter class indi_comments_list add constraint pkey_indi_comments_list PRIMARY KEY (comment_srl);
    테스트 장비에는 두 테이블에 PK를 생성해 둔 상태이고, 관련된 질의는 빠른 응답을 보이는것으로 보입니다.

     

    다음 테이블들 역시 인덱스가 만들어져 있지 않으므로 어떤 인덱스가 필요한지 확인후 추가해야 합니다.

    indi_action_forward
    indi_addons
    indi_addons_site
    indi_ai_installed_packages
    indi_ai_remote_categories
    indi_autoinstall_installed_packages
    indi_autoinstall_packages
    indi_autoinstall_remote_categories
    indi_comment_declared
    indi_comment_declared_log
    indi_comment_voted_log
    indi_coupon
    indi_coupon_used_log
    indi_document_aliases
    indi_document_categories
    indi_document_declared
    indi_document_declared_log
    indi_document_extra_keys
    indi_document_extra_vars
    indi_document_histories
    indi_document_readed_log
    indi_document_trash
    indi_document_voted_log
    indi_editor_autosave
    indi_editor_components
    indi_editor_components_site
    indi_join_extend_notify
    indi_member_openid_association
    indi_module_extend

  • ?
    엔하늘 2011.08.09 22:57

    이렇게 하나씩 추가로 인덱스를 설정하는 것보다는 차라리 마이그레이션을 다시 하는 것이 훨씬 낫겠네요. 어차피 마이그레이션을 다시 하기도 해야 하고요.

    혹시 xml파일 이용해서 마이그레이션 진행해 보셨는지요? 문제는 다음에 마이그레이션을 했는데도 또 이런 현상이 발생하느냐인데 그렇지 않았으면 좋겠네요^^;

  • ?
    엔하늘 2011.08.09 23:11

    네 확실히 게시물 읽는 시간은 빨라졌네요.

    그런데 게시물에 댓글을 달면 댓글이 맨 아래가 아니라 맨 위에 출력이 됩니다. 이건 원래 이런 것인지요?

  • ?
    샤롱스판 2011.08.09 23:24

    http://nlucene.xpressengine.net/19224740 

    여기를 참고하시면 됩니다. XE에서 DB마다 serial 처리를 다른 방식으로 하다보니 DB를 전환하는 경우 이 문제가 꼭 발생하는군요.

    현재 글 순서가 엎어진 것은 xe_sequence가 1부터 시작하기 때문입니다. 이를 mysql에서의 최종 번호+1 값으로 바꿔 주셔야 합니다.

    # su - cubrid
    $ csql -u dba cubriddb

    alter table rename xe_sequence as xe_sequence_tmp;
    ;x
    csql> select max(document_srl) + 1 from xe_sequence_tmp;
    csql> ;x
    66
    csql> create serial xe_sequence start with 66;
    csql> ;x
    csql> drop table xe_sequence_tmp;
    csql> ;x

     

  • ?

    방금 주신 XML파일로 CMT를 이용하여 마이그레이션을 수행하였고, Win7에서 오프라인 마이그레이션을 수행하여 3시간 정도 소요되었습니다. 결과는 모두 정상적으로 인덱스를 생성하였습니다. 단, 아래 테이블만 인덱스가 없는데 이것은 누락이 아니라 원래 XE스키마 확인 결과 인덱스가 없는 것입니다. 

    indi_join_extend_notify
    indi_member_openid_association
    indi_module_extend

    따라서 CMT로 다시한번 디폴트 옵션 그대로 사용하시어 마이그레이션을 수행하시거나 제가 첨부한 파일(인덱스 생성 파일)을 실행하시면 정상적으로 사용할 수 있을 것입니다.  명령어: csql -i test2_indexes.txt DB이름  또는 파일 내용 긁어서 csql 내에서 실행

    ftp://ftp.cubrid.org/CUBRID_Tools/CUBRID_Migration_Toolkit/

     

  • ?
    엔하늘 2011.08.10 00:39

    답변 감사합니다. 혹시 CMT에서 마이그레이션 할 때 xe 스키마 적용인가? 하는 체크 옵션을 반드시 체크해야만 하는 것인지요? 그때 체크 하면 다음으로 진행이 안 되어서 그냥 체크를 없애고 진행했습니다. 장시간 동안 자세하고 친절해 대답해 주셔서 대단히 감사합니다.

  • ?
    엔하늘 2011.08.10 05:57 SECRET

    "비밀글입니다."

  • ?
    CUBRID_DEV 2011.08.11 18:51

    네. 염려마십시오. 이미 삭제하였습니다~


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 1493
1062 언로드 후, 로드가 안되는데 어떤 사항을 체크해 봐야 할까요? 2 secret 차오이 2011.08.23 18
1061 오라클 rank() over를 대체 할 수 있는 함수가 있나요? 1 쿠쿡 2011.08.16 22634
1060 큐브리드 질의 편집기에서 쿼리 관련 문의 입니다. 1 유리심장 2011.08.12 8872
1059 [질문] Insert문의 속도 향상 방법이 있나요? 3 ........ 2011.08.10 23273
1058 테이블 우측마우스 메뉴 "데이터 올리기"를 명령어로 하는 방법은?? 1 풀소리 2011.08.09 8525
1057 큐브리드 R4.0 에서 between 사용시 문제가 발생합니다. 1 종이 2011.08.07 9175
» XE를 mysql에서 cubrid로 이전한 후 속도가 너무 느립니다. 22 엔하늘 2011.08.07 28430
1055 우분투 11.04에 큐브리드 설정 관련 질분 드립니다. 2 지눙이 2011.08.07 8849
1054 cubrid에 적용가능한 sms 모듈이 어떤게 있을까요? 3 dpals80 2011.08.05 10095
1053 cubrid_connect() 가 정의 되어 있지 않다고 나옵니다. 1 독고구검 2011.08.03 10395
1052 "DATABASE 검사" 도무지 끝날 기미가 안 보입니다 5 한종희 2011.08.02 8568
1051 데이터 등록에러 Sector/page table of file VFID 1 스카이 2011.07.29 8166
1050 Attempt to call a method related to scrollability of non-scrollable ResultSet. 오류 문의 1 cuins 2011.07.28 12493
1049 서비스 관련 2 브리즈 2011.07.28 7512
1048 [java] 두개의 PreparedStatement 할당후 close 시 문제 2 cuins 2011.07.27 10778
1047 PHP + Apache + Cubrid 연동 질문 입니다. 3 지누 2011.07.27 11320
1046 Oracle 사용자 팁 문의 1 비형여자 2011.07.26 9663
1045 exception 문의 1 비형여자 2011.07.22 7831
1044 CUBRID DB 호스팅 시 UTF-8 타입 사용. 1 ezzone 2011.07.19 7644
1043 데이타베이스 또는 테이블스페이스 생성 시 자동증가 옵션이 어떻게 되는지?? 3 풀소리 2011.07.19 9769
Board Pagination Prev 1 ... 119 120 121 122 123 124 125 126 127 128 ... 177 Next
/ 177

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2147 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales