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 7255 게시물 읽기
No. 7255
pgpool 관련 질문 입니다 - 서버 로드 줄이기
작성자
신문식(아구스틴)
작성일
2007-11-02 15:56ⓒ
2007-11-02 15:59ⓜ
조회수
6,133

웹서비스 중이구요.

 

최근 서버 Load average가 보통 15~18정도 왔다갔다 했습니다.

 

프로그램에서 디비서버쪽으로 날아가는 쿼리를 보고 익덱스 좀 잡아주고 소스좀 고쳐주고 했더니 로드가 9~11 정도로 내려왔습니다.

 

사실 이정도 로드도 엄청 높은거잖아요.

 

웹서비스에 pgpool이 도움이 된다고 해서 어제 설치하고 오늘 보니 로드가 5~8 정도 되는듯 합니다.

 

 

 

로드를 더 낮춰보고 싶은데 어떤 방법이 더 있을까요??

 

 

 

 

 

[top 찍어본 화면]

 

top - 15:50:28 up 18:47, 2 users, load average: 5.78, 6.40, 6.31

Tasks: 351 total, 7 running, 344 sleeping, 0 stopped, 0 zombie

Cpu(s): 44.3% us, 25.9% sy, 0.0% ni, 29.8% id, 0.0% wa, 0.0% hi, 0.0% si

Mem: 8306556k total, 3792628k used, 4513928k free, 60928k buffers

Swap: 2048276k total, 0k used, 2048276k free, 3098332k cached

 

 

 

 

 

[postgresql.conf]

 

port = 5431

max_connections = 1000

shared_buffers = 10000

enable_hashagg = on

enable_hashjoin = on

enable_indexscan = on

enable_mergejoin = on

enable_sort = on

 

 

 

 

 

[pgpool.conf]

 

port = 5432

backend_port = 5431

num_init_children = 64

max_pool = 8

 

나머지 옵션은 디폴트 입니다.

 

 

 

 

 

 

 

메모리는 4기가 더 추가할 예정인데, top에서 본 메모리 사용량을 봐선 메모리 문제도 아닌듯해서요.

 

로드 낮추는 방법을 알고 싶습니다.

 

좋은 주말 되세요~

 

 

 

 

 

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

쿼리 튜닝 더 해보세요. 
제가 보기에는 그 만한 로드값이 나오는 것은 90% 이상이 
많은 자료를 검색하는데, 인덱스를 사용하지 못해서 읽어나는 일 같습니다.

김상기(ioseph)님이 2007-11-02 15:59에 작성한 댓글입니다.

프로그램 성격상 테이블에서 전체 레코드를 대상으로 리스트 형태 출력이 많아서 어떠한 쿼리 튜닝을 더 해야할지 잘 모르겠습니다.

 

예를들면

총 10만개의 레코드 중 최근 레코드 20개만 뽑는 형식...

select * from table where save_status='Y' order by save_time desc limit 20;

과 같은 쿼리가 많은데....

이런것들을 어떻게 처리해주면 도움이 될까요??

 

신문식(아구스틴)님이 2007-11-02 16:07에 작성한 댓글입니다.

대표적인 경우가 그런 경우거든요.


윗 쿼리에서는 반드시 save_time 칼럼에 대한 인덱스가 있어야합니다. 


그리고 where 절에서 save_time 조건도 대략적으로 있어야할 것같네요. 


넉넉 잡아서 100개 정도, 아니, 1000개 정도가 항상 나올 수 있는 조건아래에서 limit를 설정해야 비용을 최소화 할 수 있을 것같네요.


뭐, 여튼 explain 명령으로 최적의 쿼리를 만드는 일이 제일 먼저 할 일 같네요.

김상기(ioseph)님이 2007-11-02 16:49에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7258서로다른 다른DB 접근방법? [1]
나그네
2007-11-06
6353
7257odbc설치시 문제점...?
초보
2007-11-05
5307
7256port를 제거 혹은 해제 할수있나요?? [1]
와탕카
2007-11-02
5788
7255pgpool 관련 질문 입니다 - 서버 로드 줄이기 [3]
신문식
2007-11-02
6133
7253ZeosLib PostgreSQL UTF8 Patch(R2 Updated) [4]
최정대
2007-10-31
6160
7252ODBC로 pg의 값을 못 가져오고 있습니다.. [2]
용희
2007-10-30
5462
7251DB만드는데 자꾸 파일이 없다고 뜨네요.... [2]
도와주십쇼..ㅜㅜ
2007-10-29
5466
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다