postgres 통계 수집기 프로세스에서 생성 된 너무 많은 I / O


10

로컬 postgres 데이터베이스가있는 여러 가상 시스템에서 XenServer를 사용하고 있습니다. 모든 응용 프로그램이 사용되지 않고 데이터베이스가 유휴 상태 인 경우에도 각 vm은 지속적인 스토리지 네트워크 트래픽을 발생시켜 iscsi 스토리지 장치의 성능을 저하시킵니다.

실행 후 iotoppostgres 통계 수집기 프로세스 프로세스는 약 2MByte / s의 속도로 디스크에 지속적으로 기록됩니다.

그런 다음 편집하여 통계 수집을 비활성화했습니다 /etc/postgresql/8.4/main/postgresql.conf.

#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------

# - Query/Index Statistics Collector -

track_activities = off
track_counts = off
...

http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htm에 제안 된대로 .

이로 인해 연속적인 쓰기가 제거되었지만 통계 추적을 끄는 데 단점이 있습니까?

아니면 디스크 / 네트워크 트래픽을 피하기 위해 pg_stat_tmp 디렉토리를 램 디스크에 배치해야합니까?

시스템은 postgres 8.4 및 약 50 개의 테이블이있는 약 20 개의 데이터베이스가있는 최신 데비안 6.0.7 (짜내기)이며 총 덤프 파일 크기는 100MB 미만입니다.

답변:


7

PostgreSQL 업그레이드는 옵션이 아니기 때문에 pg_stat_tmp 디렉토리를 tmpfs 파일 시스템에 배치하려고 시도했는데 성능이 크게 향상되었습니다. 나는 현재 몇 달 동안 몇 달 동안 몇 가지 시스템에서이를 눈에 띄는 단점없이 실행하고 있습니다.

이렇게하려면 pg_stat_tmp를 / etc / fstab 파일에 tmpfs와 함께 마운트하십시오.

# <file system> <mount point>                                <type>  <options>  <dump>  <pass>
tmpfs           /var/lib/postgresql/8.4/main/pg_stat_tmp     tmpfs   defaults,noatime,mode=1777,uid=postgres,gid=postgres,nosuid,nodev 0 0

Postgresql 9.1 에서이 작업을 수행했습니다. 내 서버 중 하나가 하루 종일 1MB / s의 연속 쓰기를했습니다. 이것은 거의 아무것도 떨어졌습니다. 이 문서 는 BTW 문서 에서 승인했다 : "... RAM 기반 파일 시스템에서 이것을 지적하면 물리적 I / O 요구 사항이 줄어들고 성능이 향상 될 수있다."
Halfgaar

0

PostgreSQL을 업그레이드하십시오. 최소한 최신 8.4 릴리스를 사용하고 있는지 확인하십시오. 그것이 해결되지 않고 그렇게하는 것이 실용적이라면 아마도 9.2로 업그레이드해야합니다. 통계 수집기 관련 문제는 8.4 이후로 해결 되었으며 약 1 년 후에 수명이 다할 것입니다 . pgsql-general mailing list archives검색하여 자세한 정보를 찾을 수 있습니다 .

평소처럼 당신이 비록 당신은 8.4에서 9.2로 너무 많은 문제 업그레이드가 없어야 한다 각 0.0 릴리스 inbetween (9.0, 9.1 및 9.2)의 릴리스 노트의 업그레이드 섹션을 참조하십시오. standard_conforming_strings및에 특히주의하십시오 bytea_output.


0

여기에도 같은 문제가 있습니다. 나는 또한 비활성화 track_*했다.

부작용은 autovacuum이 수집 된 데이터를 사용하여 발생한다는 것입니다.

그래서, 나는 매일 밤 일정을 관리합니다 vacuumdb.

다른 해결책은 autovacuum_naptime시스템을 정지시킬만큼 충분히 높게 설정 하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.