Background Image

FORUM

lhb
조회 수 8267 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Windows Server 2012 R2 Standard(DB), Windows 7 pro(client)
CUBRID Ver.
CUBRID 9.2 (9.2.24.0002) (64bit release build for Windows_NT) (Jan 81 2016 06:36:18)
CUBRID TOOL Ver.
CUBRID Manager 9.3.1.704  (64bit)
응용 환경(API)
java

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요. 고생이 많으십니다.


QA게시판에 "큐브리드 사용한 데이터 구축 시 시간이 너무 오래 걸립니다." 라고 글을 남겼는데요. 


답변이 없으시네요. ㅜㅡ


이어서 질문 드리겠습니다.

단순 txt 파일을 읽어서 디비에 인서트하고 있는데 총 건수가 996,261건입니다.

오류는 입력시 계속 발생하였고

[2016-02-15 14:04:46.232] [ERROR] [xxx.APooledDataSource returnConnection:?] [Access : Pool - returnConnection]
cubrid.jdbc.driver.CUBRIDException: Cannot communicate with the broker or received invalid packet[CAS INFO - ip:33000,3,17740],[SESSION-2098],[URL-jdbc:cubrid:ip:33000:db:id:********:].
 at cubrid.jdbc.jci.UConnection.createJciException(UConnection.java:2055)
 at cubrid.jdbc.jci.UInputBuffer.<init>(UInputBuffer.java:74)
 at cubrid.jdbc.jci.UConnection.send_recv_msg(UConnection.java:1667)
 at cubrid.jdbc.jci.UConnection.send_recv_msg(UConnection.java:1676)
 at cubrid.jdbc.jci.UConnection.setIsolationLevel(UConnection.java:1107)
 at cubrid.jdbc.driver.CUBRIDConnection.setTransactionIsolation(CUBRIDConnection.java:355)
 at com.zaxxer.hikari.proxy.ConnectionProxy.resetConnectionState(ConnectionProxy.java:155)
 at com.zaxxer.hikari.proxy.ConnectionProxy.close(ConnectionProxy.java:192)
 at xxx.APooledDataSource.returnConnection(Unknown Source)


가끔 PrepareStatement 관련 오류도 발생했습니다.


문제는 데이터를 다 입력 한 후에 프로그램에서 select count(*) from FA001 이렇게 쿼리를 수행하는데요.

디비가 내려갔습니다.

큐브리드 매니저에서 확인해보니 g3test가 중지 중이라고 나오네요.

insert, select만 했는데 DB 다운이라면 매우 심각한 문제라서 DB 선정을 다시 해야하는지 지금 심각하게 고민을 하고 있습니다.


혹 설정을 잘못했는가 하여 어제 글에 conf도 남겼었는데요.

프로그램 속성 상 lob 데이터를 많이 쓰고 있습니다.


이게 구성이 문제가 되는지 어떻게 처리를 해야하는지 궁금합니다.



  • ?
    엄기호 2016.02.17 03:39

    안녕하세요.


    데이터 입력 시 "cubrid broker status -f"를 Client Version이 동일하게 나오는지 확인 부탁 드립니다.


    감사합니다.

  • ?
    lhb 2016.02.17 19:49 Files첨부 (1)

    CUBRID-JDBC-9.2.24.0002버전입니다.

    정확한 버전 확인을 위해 cubrid_jdbc.jar 압축 해제 해서 확인 결과 메타파일에는 버전 정보가 없고 CUBRID-JDBC-9.2.24.0002 빈 파일이 있습니다.


    혹시 분석가능하신가 하여 cubrid 설치 경로의 log 폴더를 압축하여 첨부하여 드립니다.

    감사합니다.

  • ?
    엄기호 2016.02.18 05:15
    log.zip을 확인 해봤습니다. 로그정보에는 DB서버가 Down되어 있고, 접속 시 DB서버를 찾을 수 없다라는 메시지만 있습니다.


    죄송하지만, 현재 준 정보는 분석하기가 어렵습니다. 그래서 자료을 요청 드립니다.

    - cubrid_broker.conf 파일 내에 SQL_LOG=OFF를 SQL_LOG=ON로 해주고, MIN_NUM_APPL_SERVER =100를 MIN_NUM_APPL_SERVER =30 변경하여 수행 한 다음   log폴더에는 정보를 다시 zip으로 묶어서 첨부 해주시면 감사하겠습니다.

    - DB서버 구동 후 이 명령어(cubrid spacedb db명)를 DOS창에서 수행하여 출력 결과 와 AP 프로그램을 수행 후 이 명령어(cubrid spacedb -S db명) 출력 결과도 zip으로 묶어서 첨부 해주시면 감사하겠습니다.

    - PC 메모리 용량은 어떻게 되는지요.

  • ?

    MIN_NUM_APPL_SERVER =30 변경하여 수행하였습니다.


    FA001 텍스트 파일을 이름만 바꾸어  FA003 파일을 디비에 올렸습니다.

    서버는 16코어 32gb 메모리입니다. 서버정보 캡쳐하여 첨부하였습니다.


    다행히 죽지는 않았습니다만 비슷한 처리 시간을 보이며 다른 문제가 발생했습니다.

    로그 파일은 압축하였지만 60mb가 넘어서 일부만 압축하여 보내드립니다.


    아래의 쿼리를 실행할 경우 cub_server.exe가 cpu를 많이 사용하면서 결과를 주지 않습니다.

    두세번 동시에 실행하면 cpu 100% 사용을 하며 서버가 먹통이 되고 있습니다.

    MIN_NUM_APPL_SERVER =30로 조정한 이후로는 서버가 죽지는 않지만 cpu 점유율이 쿼리를 수행할 수록 높아지고 있습니다.


    튜닝문서를 발견하여 using index 힌트를 주면 붉은색 문구를 제외하면 정상 동작하며 (1번째 질의[ 0.747 초 , 검색 건수 : 3958 ]로 결과를 줌)

    붉은 색 문구를 포함하면 cpu100% 현상이 발견하고 있습니다.


    SELECT

               fa001.G2_ID,

               fa001.G2_DATASETID,

               fa001.G2_SPATIALTYPE,

               fa001.G2_XMIN,

               fa001.G2_YMIN,

               fa001.G2_XMAX,

               fa001.G2_YMAX,

               fa001.G2_INDEX,

               fa001.G2_SPATIAL,

               fa001.JIBUN

    FROM

               g3test.FA001 fa001  ,

               (

                         SELECT DISTINCT

                                    FA001_IDX.G2_ID

                         FROM

                                    g3test.FA001_IDX

                         WHERE

                                    FA001_IDX.G2_GX2 BETWEEN 32 AND 33

                                    AND FA001_IDX.G2_GY2 BETWEEN 73 AND 73

                                    AND FA001_IDX.G2_GX1 BETWEEN 816 AND 825

                                    AND FA001_IDX.G2_GY1 BETWEEN 1839 AND 1843

                                    AND FA001_IDX.G2_XMIN <= 195981395

                                    AND FA001_IDX.G2_YMIN <= 441525594

                                    AND FA001_IDX.G2_XMAX >= 193985029

                                    AND FA001_IDX.G2_YMAX >= 440522874

                                    USING INDEX fa001_idx_idx /*정상*/

               ) IDX

        where

    FA001.G2_ID = IDX.G2_ID

    AND ((JIBUN LIKE '____4%')) /*추가되면 응답없음*/

    USING INDEX pk_fa001_g2_id /*정상*/


    2월 이내로 db 서버 를 확정하여야 하는데 단순 설정 문제가 아니라면 큰 어려움이 있을 것 같습니다.

    ㅡㅠ

  • ?
    엄기호 2016.02.24 23:48

    jibun컬럼이 인덱스가 없어서 cpu가 100% 현상이 나오는 것 같습니다.

    jibun컬럼을 인덱스 생성하고, 쿼리문에서 INNER JOIN하여 수행


    SELECT
               fa001.G2_ID,
               fa001.G2_DATASETID,
               fa001.G2_SPATIALTYPE,
               fa001.G2_XMIN,
               fa001.G2_YMIN,
               fa001.G2_XMAX,
               fa001.G2_YMAX,
               fa001.G2_INDEX,
               fa001.G2_SPATIAL,
               fa001.JIBUN
    FROM
               g3test.FA001 fa001
                INNER JOIN
                        (
                         SELECT DISTINCT
                                    FA001_IDX.G2_ID
                         FROM
                                    g3test.FA001_IDX
                         WHERE
                                    FA001_IDX.G2_GX2 BETWEEN 32 AND 33
                                    AND FA001_IDX.G2_GY2 BETWEEN 73 AND 73
                                    AND FA001_IDX.G2_GX1 BETWEEN 816 AND 825
                                    AND FA001_IDX.G2_GY1 BETWEEN 1839 AND 1843
                                    AND FA001_IDX.G2_XMIN <= 195981395
                                    AND FA001_IDX.G2_YMIN <= 441525594
                                    AND FA001_IDX.G2_XMAX >= 193985029
                                    AND FA001_IDX.G2_YMAX >= 440522874
                                    USING INDEX fa001_idx_idx /*정상*/
                       ) IDX ON FA001.G2_ID = IDX.G2_ID
        where JIBUN LIKE '____4%'


    인덱스 생성전 쿼리문 수행 하시고, JIBUN 컬럼을 인덱스 생성 후 쿼리문 수행 해주시면 좋겠습니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1714 restart에러 2 life 2016.02.16 6092
1713 error code = -1150 관련 문의 드립니다. 1 큐브 2016.02.16 7544
» 큐브리드 사용한 데이터 구축 후 db 다운 현상 발생 5 lhb 2016.02.16 8267
1711 테이블 생성 시 디폴드 값 상이 함 문의 1 joke7 2016.02.17 8087
1710 Auto Increment에 대한 질문입니다. 3 너랑이마녀 2016.02.18 8070
1709 Cubrid 사용중 문의사항이 있습니다. 1 secret 도린아빠 2016.02.18 15
1708 테이블 생성시 reuse_oid 옵션 관련 문의 1 종이 2016.02.22 8844
1707 윈도우에 관리모드 localhost 접속 안 됩니다. 2 file 나무친구 2016.02.24 9463
1706 마이그레이션 시 데드락 발생 문의 1 joke7 2016.02.25 8348
1705 HA 사용시 to bo active 상태는 정확히 뭐죠? 2 라면 2016.02.25 8185
1704 Context requires compatible collations 오류 1 소소 2016.02.25 9922
1703 연계 시 에러 문의 1 joke7 2016.03.04 8047
1702 세그먼트 3 file 큐브리드사랑 2016.03.07 6290
1701 Cubrid 9.3 버전 문의 3 secret 일산 2016.03.07 9
1700 Oracle->Cubrid 시 인덱스가 중복되었습니다. 라는 오류가 납니다. 2 secret 바퀴벌레 2016.03.07 6
1699 asp oledb로 연결해서 사용시 1 슈퍼뚱땡이 2016.03.08 8948
1698 백업 및 복원시 테이블 복원 안되는 현상.. 1 말큼 2016.03.11 7159
1697 테이블에 있는 컬럼들중 특정값 있는 컬럼찾기 또수니 2016.03.12 7611
1696 UTF8 로 DB 를 만들고 한글 입력시 한글이 초과하여 들어 갑니다. 3 브이찾기 2016.03.14 9140
1695 인서트 시 IX_LOCK 문의 1 joke7 2016.03.14 7710
Board Pagination Prev 1 ... 110 111 112 113 114 115 116 117 118 119 ... 200 Next
/ 200

Contact Cubrid

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