Background Image

FORUM

조회 수 28568 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 55
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4461
1115 [cubrid 9.3] database에 설정된 timezone을 얻어오는법 질문입니다. 2 smoh 2020.05.11 146
1114 [PHP]CUBRID 연결 문제 6 php_user2 2016.01.29 6901
1113 [HA구성] master 서버 DOWN의 경우 4 큐스코 2015.12.02 6244
1112 [Cubrid HA] restoreslave 사용할 경우 Master/Slave 경로를 반드시 동일하게 맞춰야하나요? 1 큐브짱 2022.05.06 71
1111 [Cubrid 9.3] POSIX ERROR 문의 1 vasconcelos 2018.09.06 360
1110 [CUBRID Migration Toolkit 11.0-i386] 압축 해제 후 오류 1 jeinhe 2022.09.07 72
1109 [CUBRID Admin] 테이블 컬럼 순서 변경 불가 12 tree1891 2023.11.05 179
1108 [CUBRID Admin] 사용자의 테이블 권한 편집 1 tree1891 2023.11.06 98
1107 [CUBRID Admin] ENUM 데이터 내보내기 1 tree1891 2023.11.14 110
1106 [ADO.NET] Syntax error: unexpected 6 tree1891 2023.10.17 152
1105 [-830]Cannot allocate query entry any more. Maximun allocatable entries are 100 1 dasomoh 2021.01.07 225
1104 Your transaction (index 4, dba@LoveME|3952) has been unilaterally aborted by the system.큐브리드 로그파일도 같이 넣었어요.. 1 지니 2009.09.08 28016
» XE를 mysql에서 cubrid로 이전한 후 속도가 너무 느립니다. 22 엔하늘 2011.08.07 28568
1102 XE 이전에 관해... 15 sugarkane 2010.11.24 10616
1101 XADatasource 사용시 롤백 이슈 1 devcc 2022.03.22 113
1100 Windows10에서 Accessor is invalid 에러가 발생되는데, 확인좀 부탁드립니다. 4 file sec_smd 2018.12.07 425
1099 Windows 에서 사일런트 설치가 가능한가요... 2 거만쟁이 2009.08.12 23359
1098 Windows 버전 이중화 문의 드립니다. 2 배나와사마 2013.03.05 8455
1097 Windows Server 설치된 큐브리드 10.1.1.7691 의 loadjava.exe 실행 시 액세스가 거부되었습니다. 라는 메시지가 나오는 현상 3 노멤버 2018.06.25 323
1096 Windows Server 버전별 설치가능여부 확인 문의 2 언제나즐거운나 2015.05.26 7255
Board Pagination Prev 1 ... 140 141 142 143 144 145 146 147 148 149 ... 200 Next
/ 200

Contact Cubrid

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