2025 년 7 월 17 일 : | 윈 토토 : 윈 토토 18 베타 2
이 문서는 지원되지 않는 버전의 토토 사이트을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 토토 사이트사설 토토 PostgreSQL : 문서 : 17 : 19.4. 자원버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

18.4. 자원 소비

18.4.1. 메모리

shared_buffers(정수)

데이터베이스 서버가 사용하는 메모리 양을 설정합니다. 공유 메모리 버퍼. 기본값은 일반적으로 32입니다 메가 바이트 (32MB) 커널 설정이 지원하지 않으면 덜 결정initdb). 이 설정은 있어야합니다 최소 128 킬로 바이트. (의 비 디폴트 값blcksz최소값 변경) 그러나 설정은 최소값보다 훨씬 높습니다 일반적으로 좋은 성능에 필요합니다. 이 매개 변수는 할 수 토토 사이트 서버 시작시에만 설정됩니다.

1GB가있는 전용 데이터베이스 서버가있는 경우 더 많은 RAM, 합리적인 시작 가치shared_buffers는 메모리의 25%입니다 당신의 시스템. 큰 워크로드가 토토 사이트 설정shared_buffers효과적이지만토토 사이트또한 의존합니다 운영 체제 캐시는 할당되지 않습니다 RAM의 40% 이상shared_buffersa보다 더 잘 작동합니다 적은 양. 더 큰 설정shared_buffers보통 a 해당 증가Checkpoint_segments, 퍼지기 위해 대량의 신규 또는 더 긴 기간 동안 데이터 변경.

1GB 미만의 RAM이있는 시스템에서 더 작은 시스템 RAM의 백분율은 적절하게 떠나기 위해 적절합니다. 운영 체제를위한 공간. 또한 창문에서는 큰 에 대한 값shared_buffers그렇지 않습니다 효과적입니다. 더 나은 결과를 유지할 수 토토 사이트 비교적 낮은 설정과 운영 체제 사용 대신 더 캐시하십시오. 유용한 범위shared_buffersWindows Systems는입니다 일반적으로 64MB ~ 512MB.

이 매개 변수를 늘리면토토 사이트더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 17.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.

temp_buffers(Integer)

사용 된 임시 버퍼의 최대 수를 설정합니다 각 데이터베이스 세션. 이들은 세션-로컬 버퍼입니다 임시 테이블에 대한 액세스에만 사용됩니다. 기본값은입니다 8 메가 바이트 (8MB). 그만큼 개별 세션 내에서 설정을 변경할 수 있지만 내에서 임시 테이블을 처음 사용하기 전에 세션; 이후 가치를 변경하려는 시도는 그럴 것입니다 그 세션에는 영향을 미치지 않습니다.

세션은 필요에 따라 임시 버퍼를 할당합니다 에 의해 주어진 한계까지temp_buffers. 큰 설정 비용 실제로 많은 것을 필요로하지 않는 세션의 가치 임시 버퍼는 버퍼 디스크립터 일뿐입니다 64 바이트, 증분 당temp_buffers. 그러나 버퍼가있는 경우 실제로 추가로 사용 된 8192 바이트가 토토 사이트됩니다 그것을 위해 (또는 일반적으로blcksz바이트).

max_prepared_transactions(Integer)

그만큼"준비"상태 동시에 (참조거래 준비). 이 매개 변수 설정 (기본값) 준비된 전환 기능을 비활성화합니다. 이 매개 변수 서버 시작시에만 설정할 수 토토 사이트.

준비된 트랜잭션을 사용할 계획이없는 경우 이 매개 변수는 방지하기 위해 0으로 설정해야합니다 준비된 거래의 우발적 인 생성. 당신이라면 준비된 거래를 사용하면 아마 원할 것입니다max_prepared_transactions적어도max_connections, 모든 세션에 준비된 거래를 가질 수 토토 사이트 보류 중.

이 매개 변수를 높이면토토 사이트더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 17.4.1for 해당 매개 변수를 조정하는 방법에 대한 정보 필요한.

대기 서버를 실행할 때이를 설정해야합니다 마스터보다 동일하거나 높은 값의 매개 변수 섬기는 사람. 그렇지 않으면 쿼리가 허용되지 않습니다 대기 서버.

work_mem(정수)

내부에서 사용할 메모리의 양을 지정합니다. 글을 쓰기 전에 작업과 해시 테이블을 정렬하십시오 임시 디스크 파일. 값은 기본적으로 하나의 메가 바이트로 표시됩니다 (1MB). 단지의 경우에 유의하십시오 쿼리, 여러 종류 또는 해시 작업이 실행 중일 수 토토 사이트 동시에; 각 작업은 AS를 사용할 수 토토 사이트 이 값이 시작되기 전에 지정되는 많은 메모리 임시 파일에 데이터를 작성하십시오. 또한, 여러 달리기 세션은 그러한 작업을 동시에 수행 할 수 토토 사이트. 따라서 사용 된 총 메모리는 여러 번 의 가치work_mem; 그것은 선택할 때이 사실을 명심해야합니다. 값. 정렬 작업은에 사용됩니다.주문, 별개의및 합병 조인. 해시 테이블입니다 해시 조인, 해시 기반 집계 및 해시 기반 처리in서브 쿼리.

maintenance_work_mem(Integer)

사용할 최대 메모리 양을 지정합니다. 와 같은 유지 보수 작업진공, 생성 색인ALTER 테이블 추가 외국 키. 기본값은 16 메가 바이트 (까지)16MB). 이러한 작업 중 하나만 이후 데이터베이스 세션으로 한 번에 실행할 수 있으며 설치에는 일반적으로 많은 사람들이 실행되지 않습니다 동시에이 값을 크게 설정하는 것이 안전합니다 보다work_mem. 더 큰 설정은 진공 청소기의 성능을 향상시킬 수 있습니다 데이터베이스 덤프 복원.

autovacuum이 실행될 때 최대autovacuum_max_workers이 메모리가있을 수 토토 사이트 할당되므로 기본값도 설정하지 않도록주의하십시오. 높은.

max_stack_depth(Integer)

서버의 최대 안전 깊이를 지정합니다 실행 스택. 이 매개 변수의 이상적인 설정은 다음과 같습니다 커널에 의해 시행되는 실제 스택 크기 한계 ( 설정ulimit -s또는 로컬 동등한), 메가 바이트의 안전 마진이 적습니다. 스택 깊이가이므로 안전 마진이 필요합니다. 서버의 모든 루틴에서 확인되지 않고 표현과 같은 주요 잠재적 인 루틴 평가. 기본 설정은 두 메가 바이트입니다 (2MB)는 보수적입니다 작고 위험 충돌 위험이 없을 것입니다. 그러나 그럴 수도 토토 사이트 복잡한 기능을 실행하기에는 너무 작습니다. 오직 슈퍼업자는이 설정을 변경할 수 토토 사이트.

설정max_stack_depth실제 커널 제한보다 높으면 런 어웨이 재귀 기능은 개인에게 충돌 할 수 토토 사이트 백엔드 프로세스. 플랫폼에서토토 사이트커널을 결정할 수 있습니다 제한, 서버 가이 변수를 설정하지 못하게합니다. 안전하지 않은 가치로. 그러나 모든 플랫폼이 제공하는 것은 아닙니다 정보는 a를 선택할 때주의를 기울입니다 값.

18.4.2. 커널 리소스 용법

max_files_per_process(정수)

동시에 열린 파일의 최대 수를 설정합니다 각 서버 하위 프로세스에 허용됩니다. 기본값은 하나입니다 천 파일. 커널이 금고를 시행하는 경우 프로세스 당 한도, 이에 대해 걱정할 필요가 없습니다 환경. 그러나 일부 플랫폼에서 (특히 대부분의 BSD 시스템), 커널은 개별 프로세스를 허용합니다 시스템이 실제로 지원할 수있는 것보다 더 많은 파일을 엽니 다 많은 프로세스가 모두 그 많은 파일을 열려고합니다. 당신이 자신을 찾으십시오"너무 많은 개방 파일 "실패,이 설정을 줄이십시오. 이것 매개 변수는 서버 시작시에만 설정할 수 있습니다.

shared_preload_libraries(String)

이 변수는 하나 이상의 공유 라이브러리를 지정합니다 서버 시작시 사전로드됩니다. 예를 들어,'$ libdir/mylib'원인mylib.so(또는 일부 플랫폼에서mylib.sl)에서 사전로드됩니다 설치의 표준 라이브러리 디렉토리. 모든 라이브러리 두 번 인용되지 않는 한 이름은 소문자로 변환됩니다. 둘 이상의 라이브러리를로드하려면 분리하십시오. 쉼표가있는 이름. 이 매개 변수는에서만 설정할 수 있습니다 서버 시작.

토토 사이트절차 언어 라이브러리는 이런 식으로 사전로드 될 수 있으며 일반적으로 구문을 사용하여'$ libdir/plxxx'여기서xxxisPGSQL, Perl, tcl또는Python.

공유 라이브러리를 사전로드하여 라이브러리 시작 라이브러리가 처음 사용될 때 시간을 피합니다. 하지만, 각각의 새로운 서버 프로세스를 시작하는 시간이 증가 할 수 토토 사이트. 그 과정이 라이브러리를 사용하지 않더라도 약간. 그래서 이 매개 변수는 라이브러리에만 권장됩니다 대부분의 세션에서 사용됩니다.

참고 :Windows 호스트에서 사전로드 a 서버 시작의 라이브러리는 시간이 줄어들지 않습니다 각 새로운 서버 프로세스를 시작하는 데 필요합니다. 각 서버 프로세스는 모든 예압 라이브러리를 다시로드합니다. 하지만,shared_preload_libraries아직도 있습니다 일부 공유 라이브러리이기 때문에 Windows 호스트에서 유용합니다 취하는 특정 작업을 수행해야 할 수도 있습니다 Postmaster Start (예 : 공유 라이브러리는 경량 잠금 장치를 예약해야 할 수도 있습니다 공유 메모리와 당신은 그 후에 그렇게 할 수 없습니다 우체국 장이 시작되었습니다).

지정된 라이브러리를 찾을 수없는 경우 서버는 시작에 실패.

모든 토토 사이트 지원 라이브러리는가 있습니다."매직 블록"보장하기 위해 확인되었습니다 호환성. 이러한 이유로, 비 포스트 그레 스크l 라이브러리 이런 식으로로드 할 수 없습니다.

18.4.3. 비용 기반 진공 지연

실행 중PostgreSQL : 문서 : 9.0 : 와이즈 토토andPostgreSQL : 문서 : 9.0 : 토토 커뮤니티명령, 시스템 추정을 추적하는 내부 카운터를 유지합니다. 수행되는 다양한 I/O 운영 비용. 언제 누적 된 비용은 한도에 도달합니다 (VACUUM_COST_LIMIT), 지정된대로 작전은 짧은 시간 동안 잠을 자게됩니다. 에 의해VACUUM_COST_DELAY. 그러면 그럴 것입니다 카운터를 재설정하고 실행을 계속하십시오.

이 기능의 의도는 관리자가 동시 데이터베이스에 대한 이러한 명령의 I/O 영향 감소 활동. 중요하지 않은 상황은 많이 토토 사이트 그 유지 보수 명령과 같은진공and분석빨리 마무리하십시오. 하지만, 일반적으로 이러한 명령이하지 않는 것이 매우 중요합니다. 시스템의 능력을 크게 방해합니다 다른 데이터베이스 작업을 수행하십시오. 비용 기반 진공 지연 관리자가이를 달성 할 수있는 방법을 제공합니다.

이 기능은 기본적으로 수동으로 발행 된 경우 비활성화진공명령. 활성화하려면를 설정하십시오.VACUUM_COST_DELAY변수 a 0이 아닌 가치.

VACUUM_COST_DELAY(정수)

한 밀리 초의 시간은 그 과정입니다 비용 제한이 초과되면 잠을 자게됩니다. 그만큼 기본값은 0이므로 비용 기반을 비활성화합니다 진공 지연 기능. 긍정적 인 가치는 비용 기반을 가능하게합니다 진공 청소기. 많은 시스템에서 효과적입니다 수면 지연의 해상도는 10 밀리 초입니다. 환경VACUUM_COST_DELAY값으로 10의 배수가 아닌 결과는 동일한 결과를 가질 수 있습니다. 다음으로 더 높은 배수로 설정하면서

비용 기반 진공 청소기를 사용할 때 적절한 값 을 위한VACUUM_COST_DELAYare 일반적으로 매우 작고 아마도 10 ~ 20 밀리 초. 진공의 자원 소비 조정은 가장 잘 수행됩니다 다른 진공 비용 매개 변수 변경.

VACUUM_COST_PAGE_HIT(Integer)

공유 버퍼 캐시. 잠금 비용을 나타냅니다 버퍼 풀, 공유 해시 테이블을 조회하고 페이지의 내용. 기본값은 하나입니다.

VACUUM_COST_PAGE_MISS(Integer)

디스크에서 읽으십시오. 이것은 잠금 노력을 나타냅니다 버퍼 풀, 공유 해시 테이블을 조회하고 읽으십시오 디스크에서 원하는 블록을 사용하고 컨텐츠를 스캔합니다. 그만큼 기본값은 10입니다.

VACUUM_COST_PAGE_DIRTY(Integer)

진공 청소기가 수정 될 때 요금이 청구 된 예상 비용 a 이전에 깨끗한 블록. 추가를 나타냅니다 더러운 블록을 다시 디스크로 플러시해야합니다. 기본값은 20입니다.

VACUUM_COST_LIMIT(Integer)

진공 청소기를 유발하는 축적 된 비용 잠을자는 과정. 기본값은 200입니다.

참고 :보유하는 특정 작업이 있습니다 치명적인 자물쇠가 있으므로 빨리 완료해야합니다 가능한. 비용 기반 진공 지연은이 중에 발생하지 않습니다 운영. 따라서 비용이 가능합니다 지정된 한계보다 훨씬 높습니다. 피하기 위해 그러한 경우에 쓸모 없게 긴 지연, 실제 지연은 로 계산VACUUM_COST_DELAY * Accumed_balance / VACUUM_COST_LIMIT최대VACUUM_COST_DELAY * 4.

18.4.4. 배경 작가

라는 별도의 서버 프로세스가 토토 사이트.배경 작가쓰기"더티"(신규 또는 수정) 공유 버퍼. 공유 버퍼를 작성하여 서버 프로세스를 작성합니다 사용자 쿼리 처리는 거의 없거나 쓰기를 기다릴 필요가 없습니다. 발생합니다. 그러나 배경 작가는 그물을 유발합니다 a 반복적으로 미치광이 페이지는 한 번만 작성 될 수 있습니다 체크 포인트 간격에 따라 배경 작가가 쓸 수 있습니다 같은 간격으로 더러워진 것처럼 여러 번. 그만큼 이 하위 섹션에서 논의 된 매개 변수는 지역의 필요에 대한 행동.

bgwriter_delay(정수)

활동 라운드 간의 지연을 지정합니다 배경 작가. 각 라운드에서 작가 문제는 쓴다 일부 더러운 버퍼의 경우 ( 다음 매개 변수). 그런 다음bgwriter_delay밀리 초 및 반복. 기본값은 200 밀리 초입니다 (200ms). 많은 시스템에서 수면 지연의 효과적인 해상도는 10 밀리 초입니다. 환경bgwriter_delaya 10의 배수가 아닌 값은 동일 할 수 있습니다. 다음으로 설정하는 결과 10 of 10의 다음으로 설정됩니다. 이 매개 변수는에서만 설정할 수 있습니다.토토 사이트.conf파일 또는 서버에서 명령 줄.

bgwriter_lru_maxpages(Integer)

각 라운드 마다이 많은 버퍼가 배경 작가가 쓴. 이것을 0으로 설정합니다 배경 쓰기를 비활성화합니다 (체크 포인트 제외 활동). 기본값은 100 버퍼입니다. 이것 매개 변수는에서만 설정할 수 있습니다.토토 사이트.conf파일 또는 서버에서 명령 줄.

bgwriter_lru_multiplier(플로팅 포인트)

각 라운드에 작성된 더러운 버퍼의 수는 다음과 같습니다. 필요한 새로운 버퍼의 수에 따라 최근 라운드 동안 서버 프로세스에 의해. 평균 최근의 필요는 곱하기bgwriter_lru_multiplier필요한 버퍼 수에 대한 추정 다음 라운드에서. 더러운 버퍼는까지 작성됩니다 깨끗하고 재사용 가능한 버퍼가 많이 토토 사이트. (그러나 더 이상bgwriter_lru_maxpages버퍼가 있습니다 라운드당 작성.) 따라서 1.0의 설정은 a를 나타냅니다."방금 시간에"정책 예측 된 버퍼의 수를 정확히 작성합니다 필요합니다. 더 큰 값은 스파이크에 대한 쿠션을 제공합니다 수요가 있지만 작은 가치는 의도적으로 떠납니다 서버 프로세스에 의해 수행되도록합니다. 기본값은입니다 2.0. 이 매개 변수는에서만 설정할 수 있습니다.토토 사이트.conf파일 또는 서버에서 명령 줄.

작은 값bgwriter_lru_maxpagesbgwriter_lru_multiplier추가 I/O 감소 배경 작가로 인한 하중이지만 가능성이 높아집니다. 그 서버 프로세스는 스스로 쓰기를 발행해야합니다. 대화식 쿼리 지연.

18.4.5. 비동기 행동

exply_io_concurrency(정수)

동시 디스크 I/O 작업의 수를 설정합니다.토토 사이트기대 캔 동시에 실행됩니다. 이 가치를 높이는 것이 좋습니다 개인의 I/O 운영 수를 늘리십시오토토 사이트세션 병렬로 시작하려는 시도. 허용 범위는 1입니다 비동기 I/O의 발행을 비활성화하기 위해 1000 또는 0 요청.

이 설정의 좋은 출발점은 숫자입니다. Raid 0 Stripe 또는 Raid 1으로 구성된 별도의 드라이브 1 데이터베이스에 사용되는 미러. (Raid 5의 경우 패리티 드라이브를 계산해서는 안됩니다.) 그러나, 경우 데이터베이스는 종종 여러 쿼리로 바쁘다 동시 세션, 낮은 값이 충분할 수 있습니다 디스크 배열을 바쁘게 유지하십시오. 필요한 것보다 높은 값 디스크를 바쁘게 유지하면 추가 CPU 만 간접비.

메모리 기반 스토리지와 같은 이국적인 시스템의 경우 또는 버스 대역폭으로 제한되는 Raid 배열, 올바른 값은 사용 가능한 I/O 경로 수입니다. 최고를 찾기 위해서는 일부 실험이 필요할 수 있습니다 값.

비동기 I/O는 효과적인 것에 따라 다릅니다posix_fadvise함수 운영 체제 부족. 함수가없는 경우 그런 다음이 매개 변수를 0으로 설정하십시오 오류가 발생합니다. 일부 운영 체제 (예 : Solaris), 기능은 존재하지만 실제로는 그렇지 않습니다 뭐든지.