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 6206 게시물 읽기
No. 6206
CPU 자원을 엄청 잡아먹는 현상.
작성자
송효진
작성일
2005-07-06 16:53
조회수
2,985

linux kernel 2.6.10

postgres 8.0.2

 

UPDATE 가 꽤 많습니다.

새벽 3:30 에 백업하고 vacuumdb -afz 하도록 cron 걸려 있습니다.

 

보시다시피 새벽 3:30 경에도 줄어드는 기미 없이 오후 3:40 경에 서버가 먹통이 되어버렸습니다.

서버가 워낙 좋아서 다운되기 직전까지 ssh 접속이 느려지지 않았기 때문에, 모르고 있었네요.ㅠㅠ

 

vacuumdb 외에도 서버상태 최적화 하는 명령 같은게 있습니까?

트래픽이 꽤 꾸준하게 많이 나오는 서버라서 postgres restart 는 피하고 싶습니다.

읽어주셔서 감사합니다.

 

 

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

vacuumdb 에서

full을 하시면 당연히 CPU를 많이 먹습니다.

vacuum full은 모든 transaction을 막아버리며, 오로지 vacuum  full동작만 하게 됩니다.

이 동작을 하게되면 db의 dirty data들이 깨끗이 사라져서 좋긴하지만

시간도 오래걸리고, 운영중에 돌리기란 무리입니다.

 

운영중에 하실려면 vacuumdb -z 옵션을 권장합니다.

 

저희 사이트도 굉장히 트래픽이 많고 update양도 많은데

vacuumdb -z 옵션으로 많은 덕을 보고 있긴합니다만..

본질적인 postgresql  자체 문제는 피할수가 없네요...

 

언제쯤 이 vacuumdb의 고통에서 해방이 될지...

김현만님이 2005-07-06 18:32에 작성한 댓글입니다. Edit

vacuum full은 사실 거의 쓰실 필요가 없습니다. update가 많다면 더욱 그럴 듯 합니다. 어짜피 vacuum full하고 몇일만 지나면 다시 엉망이 되버리니까요. vacuum analyze로 충분하다고 생각합니다.

 

autovacuum을 한번 써보세요. 그리고 이 문서를 참조해서 vacuum 할 때에 시스템에 부하를 적게 주도록 하구요.

 

http://www.postgresql.or.kr/wiki.php/documents/PerfList

 

이 문서에 부하를 적게주는 대신 vacuum을 하는데 시간이 더 걸리게 하는 방법이 있습니다. 저는 이렇게 하는게 좋을 것 같더군요.

박성철(gyumee)님이 2005-07-06 21:32에 작성한 댓글입니다.

그런데 다시보니... 문제는 vacuum full이 아니군요.

 

vacuum full 이후에도 계속 cpu 점유율이 높아지는 것이 문제네요.

 

위의 문서를 사용해서 대용량 DB에 맞도록 pgsql을 튜닝해보세요. 메모리를 너무 작게 잡아주었거나 해서 그럴 수도 있겠구요.

 

log에 처리 시간이 일정시간 이상 걸리는 쿼리들을 출력하도록 해서 sql을 최적화 해보도록 하세요.

 

사실 대부분 sql이나 DB 디자인이 비효율적이어서 문제가 되곤 합니다.

박성철(gyumee)님이 2005-07-06 21:37에 작성한 댓글입니다.

튜닝이 잘 된듯 합니다.

도와주신분들 감사합니다.

 

송효진님이 2005-07-13 18:27에 작성한 댓글입니다. Edit

잘 됐네요.

그런데 어떻게 튜닝 하셨는지 경험을 공개하심이... ^^

박성철(gyumee)님이 2005-07-14 14:13에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6209대량 테이블을 생성하면 어떤 영향이 있을까요? [2]
마이웨이
2005-07-07
2009
6208substring 에서 posix 사용하여 문자자르기 질문입니다. [4]
엔니오
2005-07-06
2617
6207데이타 하루 250만건 처리 [5]
전해자
2005-07-06
3058
6206CPU 자원을 엄청 잡아먹는 현상. [5]
송효진
2005-07-06
2985
6203한테이블의 두개의 속성이 다른 테이블을 참조하고 있을때 뷰생성 질문 [2]
박기원
2005-07-05
1567
6202VC++에서 bytea 필드에 파일 저장하려면?
이민우
2005-07-03
1789
6201윈도우즈에서 설치파일 설치시 [1]
엿장수
2005-07-02
1955
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다