postgresql 성능 매개 변수 설정 방식
4987 단어 postgresql매개 변수배치 하 다.
성능 을 향상 시 키 기 전에 서버 의 설정 정 보 를 잘 알 아야 한다.예 를 들 어 CPU,메모리,서버 버 전 등 이다.
시스템 버 전 정보 조회
root@ubuntu160:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Linux 물리 CPU 개수,핵 수,논리 CPU 개수 보기
# = CPU X CPU
# CPU = CPU X CPU X
# CPU
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# CPU core ( )
cat /proc/cpuinfo| grep "cpu cores"| uniq
# CPU
cat /proc/cpuinfo| grep "processor"| wc -l
메모리 정보 조회
cat /proc/meminfo
PostgreSQL 설정 매개 변수 보기 방식
--
show all;
PostgreSQL 성능 향상 중요 한 설정 매개 변수
이 표 는 인터넷 에서 정 리 된 것 이다.
옵션
기본 값
설명 하 다.
최적화 여부
원인.
max_connections
100
클 라 이언 트 연결 허용 최대 수
아니.
테스트 과정 에서 100 개의 연결 이 충분 하기 때문이다.
fsync
on
디스크 에 데 이 터 를 동기 화하 도록 강제 하 다
예.
시스템 의 IO 압력 이 매우 크기 때문에 다른 설정 의 영향 을 더욱 잘 테스트 하기 위해 매개 변 수 를 off 로 변경 합 니 다.
shared_buffers
24MB
얼마나 많은 메모리 가 PostgreSQL 에서 캐 시 데이터 에 사 용 될 수 있 는 지 결정 합 니 다(메모리 의 1/4 를 추천 합 니 다.메모리 의 1/2 를 초과 하지 않 습 니 다)
예.
IO 의 압력 이 매우 큰 상황 에서 이 수 치 를 높이 면 IO 를 줄 일 수 있다.
work_mem
1MB
내부 정렬 과 복잡 한 조 회 를 이 buffer 에서 완성 합 니 다.적당 하지 않 으 면 그만 두 어야 합 니 다.모든 연결 은 이렇게 큰 것 을 사용 해 야 합 니 다.
예.
정렬 등 작업 속 도 를 높이 고 IO 를 낮 추 는 데 도움 이 된다.
effective_cache_size
128MB
최적화 기 는 검색 에 사용 할 수 있 는 최대 메모리 와 shared 를 가정 합 니 다.buffers 와 무관 합 니 다(메모리 의 1/2 추천)
예.
설정 이 약간 크 고,최적화 기 는 순서 스 캔 이 아 닌 색인 스 캔 을 사용 하 는 경향 이 있 습 니 다.
maintenance_work_mem
16MB
여기 서 정의 하 는 메모 리 는 VACUUM 등 자원 을 많이 소모 하 는 명령 에 의 해 호출 될 때 만 사 용 됩 니 다.
예.
이 값 을 크게 조정 하면 명령 의 집행 을 가속 화 할 수 있다.
wal_buffer
768kB
로그 캐 시 영역 크기
예.
IO 를 낮 출 수 있 습 니 다.비교적 많은 병발 짧 은 사 무 를 만나면 commt 와delay
checkpoint_segments
3
wal log 의 최대 수량 설정(하나의 log 크기 는 16M)
예.
기본 48M 캐 시 는 심각 한 병목 입 니 다.기본적으로 10 이상으로 설정 해 야 합 니 다.
checkpoint_completion_target
0.5
checkpoint 의 완성 시간 을 나타 내 는 것 은 두 checkpoint 간격 N%내 에 완성 해 야 합 니 다.
예.
평균 기록 비용 을 낮 출 수 있 습 니 다.
commit_delay
0
트 랜 잭 션 을 제출 한 후,로 그 를 wal log 에 wal 로 기록 합 니 다.버퍼 가 디스크 에 기록 하 는 시간 간격 입 니 다.협조 가 필요 해 commtsibling
예.
한 번 에 여러 사 무 를 기록 하여 IO 를 줄 이 고 성능 을 향상 시 킬 수 있 습 니 다.
commit_siblings
5
트리거 commit 설정delay 의 병발 사무 수 는 병발 사무 에 따라 설정 합 니 다.
예.
IO 감소,성능 향상
물론 제 쪽 에 도 앞 에 직원 소인 이 정 리 했 습 니 다.어떻게 배치 하 는 지 보 겠 습 니 다.
PostgreSQL 설정 매개 변수 수정 방식
1.프로필 수정
프로필 C:\PostgreSQL\\data\pg 96\\postgresql.conf 에서 직접 수정 합 니 다.수정 하기 전에 원본 파일 을 백업 하 십시오.의외 와 내일 누가 먼저 올 지 모 르 기 때 문 입 니 다.수정 이 완료 되면 데이터 베 이 스 를 다시 시작 하 세 요.
2.명령 행 의 변경 방식
ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }
예 를 들 어:우 리 는 지금 maintenance 를 수정 해 야 합 니 다.work_mem
--
show all;
show maintenance_work_mem;
-- postgresql.conf, postgresql.conf
ALTER SYSTEM SET maintenance_work_mem= 1048576;
--
show maintenance_work_mem;
-- postgresql.auto.conf
ALTER SYSTEM SET maintenance_work_mem= default;
네,그럼 저희 가 하 겠 습 니 다.
cd /home/postgres/pgsql/data
cat postgresql.conf
superuser_reserved_connections = 3
unix_socket_directory = '/var/lib/pgsql/current/data/unix_socket'
unix_socket_permissions = 0700
log_min_duration_statement = 10000ms
deadlock_timeout = 5s
track_activity_query_size = 10000
stats_temp_directory = 'pg_stat_tmp'
autovacuum = on
log_autovacuum_min_duration = 0
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all
track_activities = on
track_counts = on
track_io_timing = on
#log parameter
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB
log_checkpoints = on
log_lock_waits = on
#
shared_buffers = 16384MB
temp_buffers = 1024MB
work_mem = 2048MB
maintenance_work_mem = 4096MB
저장 하고 다시 시작 합 니 다.내 가 로 컬 테스트 하 는 기 계 는 마지막 라인 이 아니 기 때문에 마지막 라인 의 기 계 는 반드시 이렇게 사용 할 것 이다.이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
org.postgresql.util.PSQLException: FATAL: sorry, too many clients alreadyI am trying to connect to a Postgresql database, I am getting the following Error: You opened up more than the allowed l...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.