Background Image

FORUM

조회 수 28561 추천 수 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

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


  1. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4258
    read more
  2. 널포인트 익셉션 에러가 납니다

    Date2010.08.06 By유니콘 Views11322
    Read More
  3. 서브쿼리 질문

    Date2010.02.03 By초보 Views11332
    Read More
  4. loaddb시 피시 메모리 증가와 스왑에 따른 종료문제

    Date2012.08.28 By천상하늘 Views11332
    Read More
  5. Query Browser Eclipse plug-in 설치시 오류

    Date2014.02.07 By규리 Views11338
    Read More
  6. Cubrid shard for Mysql 구성 중 질문 입니다.

    Date2013.05.25 By태연 Views11342
    Read More
  7. PHP + Apache + Cubrid 연동 질문 입니다.

    Date2011.07.27 By지누 Views11347
    Read More
  8. DB 삭제 후 생성??

    Date2009.12.02 By푸른잔디 Views11348
    Read More
  9. 큐브리드매니저의 아이콘 개선 요청

    Date2009.09.24 By고영진 Views11361
    Read More
  10. CentOS 6.3 + cubrid + nforge 설치가 잘 않되네요.

    Date2013.04.08 By김영환 Views11364
    Read More
  11. session list와 kill 하는 방법이 있는지요?

    Date2013.04.02 Byhangum Views11365
    Read More
  12. manager server에 이상이 생긴 거 같습니다.

    Date2009.03.05 ByDevin Views11389
    Read More
  13. 연결(Connection)을 얻을 수 없습다. 브로커와 서버의 구동상태를 점검하십시오.

    Date2010.11.18 Bybaeheulk Views11391
    Read More
  14. 이미지를 한번에 저장 BLOB이용

    Date2013.05.28 Byjhdreamy Views11394
    Read More
  15. 윈도우 도스 모드에서 쿼리 실행 방법 문의

    Date2011.10.12 ByProMind Views11400
    Read More
  16. Cubrid Manager에 접속이 안됩니다.

    Date2010.08.23 By들뿔 Views11403
    Read More
  17. CUBRID와 PHP 연동 문제

    Date2010.06.06 ByEle Views11426
    Read More
  18. 복제 문의해요

    Date2009.06.28 By삽질쟁이 Views11435
    Read More
  19. mssql의 linked server 와 같은 기능 관련

    Date2014.03.06 By응가돌이 Views11436
    Read More
  20. php cubrid_bind() 에 관하여.

    Date2009.04.05 By송효진 Views11438
    Read More
  21. 큐브리드 매니저 어떤 버전을 사용해야 하는지요 ^^;

    Date2011.01.13 By어익후 Views11439
    Read More
Board Pagination Prev 1 ... 151 152 153 154 155 156 157 158 159 160 ... 199 Next
/ 199

Contact Cubrid

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