database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9260 게시물 읽기
No. 9260
[질문] DB 성능과 관련된 질문입니다.
작성자
김문수(ykrgulm)
작성일
2013-04-04 17:23
조회수
9,206

안녕하세요? DB 성능에 궁금한게 있어서 게시판에 글을 올리게 되었습니다.

java와 연동해서 postgresql 9.1을 쓰고 있습니다.

1번째 DB는 랩테스트용으로, DB에 저장할 모든 값이 미리 설정된 java 프로그램에서 0.2초마다 DB에 데이터를 저장합니다.

2번째 DB는 보드와 연결된 제어 프로그램이 보드에서 데이터를 받아 0.2초마다 DB에 데이터를 저장합니다.

두 DB는  동일한 구조를 가지고 있습니다.

문제는 저장과정을 중지한 후, 데이터를 추출할 때 성능차익가 발생한다는 점입니다.

데이터 추출 프로그램에서 1번째 DB를 접속하여 데이터를 추출할 때, 0.1초 정도 걸리지만,

동일한 프로그램으로 2번째 DB를 접속하여 데이터처를 추출하면, 3 ~ 10초 정도의 시간이 걸립니다.

동일한 DB구조이고, 동일한 데이처 추출 프로그램을 사용하는데, 성능차이가 발생하는 이유가 무엇인지 알 수 없어서

이렇게 질문을 올리게 되었습니다.

읽어주셔서 감사합니다.

이 글에 대한 댓글이 총 2건 있습니다.

제일 먼저 해 볼 일은 동일 쿼리에 대한 두 서버간의 실행계획이 어떻게 다른가,

왜 달라졌는가를 찾는 일입니다.

 

통상 한 쪽은 autovacuum 기능을 임의로 꺼 놓고 있다가 많이 쌓이면서 실행계획이 틀어지는 경우를 제일 많이 의심하는 편입니다.

 

살펴봐야할 항목은

  • OS 상태의 차이점 (커널 환경설정 매개변수까지 살펴보셔야할 것 같네요)
  • 서버 환경 설정 매개변수의 차이점
  • 자료량
  • 쿼리 내용
  • 쿼리의 실행계획
  • 등등등 (그냥 쓴다고 더 구체적인게 뭐가 있을지는 모르겠네요)

입니다.

 

 

김상기(ioseph)님이 2013-04-05 00:34에 작성한 댓글입니다.

말씀하신대로 다각적으로 DB환경, 쿼리 내용, 쌓여진 데이터를 확인해봤습니다.

그 결과, null데이터가 있는 항목을 추출했을 때, 속도가 확연하게 느려지는 것을 확인했습니다.

null데이터를 영값 처리하니까, 속도가 빨라지더라구요.

관심 갖아주시고 답변해주셔서 감사합니다.

김문수(ykrgulm)님이 2013-04-08 09:45에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9264입력된 값에서 \r\n [1]
전상도
2013-04-16
8547
9263[질문] 데이터량에 따른 성능 저하에 관한 질문입니다. [2]
김문수
2013-04-15
9293
9262C 라이브러리(Libpq) 사용시 한글깨짐 [2]
ted
2013-04-11
9375
9260[질문] DB 성능과 관련된 질문입니다. [2]
김문수
2013-04-04
9206
9259time zone 한국시각 고정 질문입니다. [6]
iyob
2013-04-03
14678
9258대용량 데이터 백업 문의입니다. [2]
류상우
2013-04-03
10225
9257DB 실시간 복제 기능 [1]
파빌신
2013-04-03
10089
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다