| 롤 토토 : 문서 : 9.5 : | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.5 : 토토 캔 및 인증 | 토토 사이트 : 문서 : 9.5 : 서버 구성 | 18장. 서버 구성 | 롤 토토 PostgreSQL : 문서 : 9.5 : 앞서 쓰기 로그 |
데이터베이스 서버가 공유 메모리 버퍼에 사용하는 메모리 양을 스포츠 토토합니다. 기본값은 일반적으로 128MB입니다(128MB), 그러나 커널 스포츠 토토이 이를 지원하지 않는 경우에는 더 적을 수 있습니다(initdb). 이 스포츠 토토은 128KB 이상이어야 합니다. (기본값이 아님BLCKSZ최소값을 변경합니다.) 그러나 좋은 성능을 위해서는 일반적으로 최소값보다 훨씬 높은 스포츠 토토이 필요합니다. 이 매개변수는 서버 시작 시에만 스포츠 토토할 수 있습니다.
RAM이 1GB 이상인 전용 데이터베이스 서버가 있는 경우 합리적인 시작 값shared_buffers은 시스템 메모리의 25%입니다. 대규모 스포츠 토토이 적용되는 일부 작업 부하가 있습니다.shared_buffers효과적이지만, 왜냐하면포스트그레SQL또한 운영 체제 캐시에 의존하므로 RAM의 40% 이상을 할당할 가능성은 거의 없습니다.shared_buffers더 적은 양보다 더 잘 작동합니다. 더 큰 스포츠 토토:shared_buffers보통 그에 상응하는 증가가 필요합니다max_wal_size, 대량의 신규 또는 변경된 데이터를 장기간에 걸쳐 기록하는 프로세스를 분산시키기 위해.
RAM이 1GB 미만인 시스템에서는 운영 체제에 적절한 공간을 남겨두기 위해 더 적은 비율의 RAM이 적합합니다. 또한 Windows에서는 다음 값이 큽니다.shared_buffers효과적이지 않습니다. 스포츠 토토을 상대적으로 낮게 유지하고 대신 운영 체제 캐시를 더 많이 사용하면 더 나은 결과를 찾을 수 있습니다. 다음의 유용한 범위는shared_buffersWindows 시스템의 경우 일반적으로 64MB~512MB입니다.
대용량 메모리 페이지 사용을 활성화/비활성화합니다. 유효한 값은 다음과 같습니다.시도(기본값),켜짐및꺼짐.
현재 이 기능은 Linux에서만 지원됩니다. 다음으로 스포츠 토토된 경우 다른 시스템에서는 스포츠 토토이 무시됩니다.시도해 보세요.
대규모 페이지를 사용하면 페이지 테이블이 작아지고 메모리 관리에 소요되는 CPU 시간이 줄어들어 성능이 향상됩니다. 자세한 내용은 다음을 참조하세요.섹션 17.4.5.
함께거대한_페이지다음으로 스포츠 토토됨시도해 보세요, 서버는 대용량 페이지를 사용하려고 시도하지만 실패하면 일반 할당을 사용하게 됩니다. 와 함께켜짐, 대용량 페이지를 사용하지 않으면 서버가 시작되지 않습니다. 와 함께꺼짐, huge 페이지는 사용되지 않습니다.
각 데이터베이스 세션에서 사용되는 임시 버퍼의 최대 수를 스포츠 토토합니다. 이는 임시 테이블에 액세스하는 데에만 사용되는 세션 로컬 버퍼입니다. 기본값은 8MB입니다(8MB). 스포츠 토토은 개별 세션 내에서 변경할 수 있지만 세션 내에서 임시 테이블을 처음 사용하기 전에만 가능합니다. 이후에 값을 변경하려고 시도해도 해당 세션에는 아무런 영향이 없습니다.
세션은 필요에 따라 다음에 의해 주어진 한도까지 임시 버퍼를 할당합니다.temp_buffers. 실제로 많은 임시 버퍼가 필요하지 않은 세션에서 큰 값을 스포츠 토토하는 데 드는 비용은 버퍼 설명자, 즉 증분당 약 64바이트에 불과합니다.temp_buffers. 그러나 버퍼가 실제로 사용되면 추가로 8192바이트가 스포츠 토토됩니다(또는 일반적으로)BLCKSZ바이트).
에 있을 수 있는 최대 트랜잭션 수를 스포츠 토토합니다."준비됨"동시에 상태(참조PostgreSQL : 문서 : 9.5 : 거래 토토 베이). 이 매개변수를 0(기본값)으로 스포츠 토토하면 준비된 트랜잭션 기능이 비활성화됩니다. 이 매개변수는 서버 시작 시에만 스포츠 토토할 수 있습니다.
준비된 트랜잭션을 사용할 계획이 없다면 준비된 트랜잭션이 실수로 생성되는 것을 방지하기 위해 이 매개변수를 0으로 스포츠 토토해야 합니다. 준비된 트랜잭션을 사용하는 경우 아마도 원할 것입니다.max_prepared_transactions적어도 그 크기는max_connections, 모든 세션에 대기 중인 준비된 트랜잭션이 있을 수 있도록 합니다.
대기 서버를 실행할 때 이 매개변수를 마스터 서버의 값과 같거나 높은 값으로 스포츠 토토해야 합니다. 그렇지 않으면 대기 서버에서 쿼리가 허용되지 않습니다.
임시 디스크 파일에 쓰기 전에 내부 정렬 작업 및 해시 테이블에서 사용할 메모리 양을 지정합니다. 값의 기본값은 4MB입니다(4MB). 복잡한 쿼리의 경우 여러 정렬 또는 해시 작업이 병렬로 실행될 수 있습니다. 각 작업은 임시 파일에 데이터 쓰기를 시작하기 전에 이 값이 지정하는 만큼의 메모리를 사용할 수 있습니다. 또한 실행 중인 여러 세션이 이러한 작업을 동시에 수행할 수도 있습니다. 따라서 사용된 총 메모리는 다음 값의 몇 배가 될 수 있습니다.work_mem; 값을 선택할 때 이 사실을 명심해야 합니다. 정렬 작업은 다음에 사용됩니다.주문 방법, 독특및 병합 조인. 해시 테이블은 해시 조인, 해시 기반 집계 및 해시 기반 처리에 사용됩니다.IN하위 쿼리.
다음과 같은 유지 관리 작업에 사용할 최대 메모리 양을 지정합니다.진공, 색인 생성및테이블 변경 외래 키 추가. 기본값은 64MB입니다(64MB). 데이터베이스 세션에서는 이러한 작업 중 하나만 실행할 수 있고 설치 시 일반적으로 동시에 실행되는 작업이 많지 않으므로 이 값을 다음보다 훨씬 크게 스포츠 토토하는 것이 안전합니다.work_mem. 스포츠 토토이 크면 데이터베이스 덤프 복원 성능이 향상될 수 있습니다.
autovacuum이 실행되면 최대autovacuum_max_workers회 이 메모리가 할당될 수 있으므로 기본값을 너무 높게 스포츠 토토하지 않도록 주의하세요. 이를 별도로 스포츠 토토하여 제어하는 것이 유용할 수 있습니다.autovacuum_work_mem.
각 자동 진공 작업자 프로세스에서 사용할 최대 메모리 양을 지정합니다. 기본값은 -1이며, 이는의 값을 나타냅니다.maintenance_work_mem17938_18010진공다른 컨텍스트에서 실행될 때.
서버 실행 스택의 최대 안전 깊이를 지정합니다. 이 매개변수의 이상적인 스포츠 토토은 커널이 적용하는 실제 스택 크기 제한입니다(다음에서 스포츠 토토).ulimit -s또는 이에 상응하는 로컬), 1MB 정도의 안전 여유가 적습니다. 스택 깊이는 서버의 모든 루틴에서 확인되지 않고 표현식 평가와 같이 잠재적으로 재귀적인 주요 루틴에서만 확인되므로 안전 여유가 필요합니다. 기본 스포츠 토토은 2MB입니다(2MB)는 보수적으로 규모가 작고 충돌 위험이 낮습니다. 그러나 복잡한 기능을 실행하기에는 너무 작을 수 있습니다. 슈퍼유저만 이 스포츠 토토을 변경할 수 있습니다.
스포츠 토토max_stack_깊이실제 커널 제한보다 높으면 런어웨이 재귀 함수가 개별 백엔드 프로세스를 중단시킬 수 있음을 의미합니다. 다음과 같은 플랫폼에서스포츠 토토커널 제한을 결정할 수 있지만 서버는 이 변수가 안전하지 않은 값으로 스포츠 토토되는 것을 허용하지 않습니다. 그러나 모든 플랫폼이 정보를 제공하는 것은 아니므로 값 선택 시 주의하는 것이 좋습니다.
서버가 사용해야 하는 동적 공유 메모리 구현을 지정합니다. 가능한 값은 다음과 같습니다.posix(다음을 사용하여 할당된 POSIX 공유 메모리의 경우shm_open), sysv(다음을 통해 할당된 System V 공유 메모리의 경우shmget), 창(Windows 공유 메모리의 경우),mmap(데이터 디렉토리에 저장된 메모리 매핑 파일을 사용하여 공유 메모리를 시뮬레이션하기 위해) 및없음(이 기능을 비활성화하려면). 모든 플랫폼에서 모든 값이 지원되는 것은 아닙니다. 지원되는 첫 번째 옵션은 해당 플랫폼의 기본값입니다. 의 사용mmap20246_20481pg_dynshmem디렉토리가 RAM 디스크에 저장되어 있거나 다른 공유 메모리 기능을 사용할 수 없는 경우.
세션이 임시 파일(예: 정렬 및 해시 임시 파일 또는 보류 커서용 저장 파일)에 사용할 수 있는 최대 디스크 공간을 지정합니다. 이 한도를 초과하려는 거래는 취소됩니다. 값은 킬로바이트 단위로 지정됩니다.-1(기본값)은 제한이 없음을 의미합니다. 슈퍼유저만 이 스포츠 토토을 변경할 수 있습니다.
이 스포츠 토토은 주어진 특정 파일이 사용하는 모든 임시 파일이 어느 순간에 사용하는 총 공간을 제한합니다.포스트그레SQL세션. 쿼리 실행에서 배후에서 사용되는 임시 파일과 달리 명시적 임시 테이블에 사용되는 디스크 공간은 다음과 같습니다.아님이 한도에 포함됩니다.
각 서버 하위 프로세스에 허용되는 동시에 열려 있는 파일의 최대 수를 스포츠 토토합니다. 기본값은 1,000개 파일입니다. 커널이 안전한 프로세스별 제한을 적용하는 경우 이 스포츠 토토에 대해 걱정할 필요가 없습니다. 그러나 일부 플랫폼(특히 대부분의 BSD 시스템)에서는 많은 프로세스가 모두 그렇게 많은 파일을 열려고 하면 커널은 개별 프로세스가 시스템이 실제로 지원할 수 있는 것보다 더 많은 파일을 열 수 있도록 허용합니다. 만약 당신이 본다면"열린 파일이 너무 많습니다"실패, 이 스포츠 토토을 줄여보세요. 이 매개변수는 서버 시작 시에만 스포츠 토토할 수 있습니다.
실행 중PostgreSQL : 문서 : 9.5 : 토토 캔그리고PostgreSQL : 문서 : 9.5 : 스포츠 토토 결과명령을 사용하면 시스템은 수행되는 다양한 I/O 작업의 예상 비용을 추적하는 내부 카운터를 유지 관리합니다. 누적 비용이 한도에 도달한 경우(다음으로 지정됨)vacuum_cost_limit), 작업을 수행하는 프로세스는 다음에서 지정한 대로 짧은 시간 동안 절전 모드로 전환됩니다.vacuum_cost_delay. 그런 다음 카운터를 재스포츠 토토하고 실행을 계속합니다.
이 기능의 목적은 관리자가 동시 데이터베이스 활동에 대한 이러한 명령의 I/O 영향을 줄일 수 있도록 하는 것입니다. 다음과 같은 유지 관리 명령이 중요하지 않은 상황이 많이 있습니다.진공그리고분석빨리 끝내세요; 그러나 일반적으로 이러한 명령이 다른 데이터베이스 작업을 수행하는 시스템 기능을 크게 방해하지 않는 것이 매우 중요합니다. 비용 기반 진공 지연은 관리자가 이를 달성할 수 있는 방법을 제공합니다.
이 기능은 수동으로 발행된 경우 기본적으로 비활성화되어 있습니다.진공명령. 활성화하려면 다음을 스포츠 토토하세요.vacuum_cost_delay변수를 0이 아닌 값으로 변경합니다.
비용 한도를 초과했을 때 프로세스가 휴면 상태가 되는 시간(밀리초)입니다. 기본값은 0이며, 이는 비용 기반 진공 지연 기능을 비활성화합니다. 양수 값은 비용 기반 진공 청소를 가능하게 합니다. 많은 시스템에서 절전 지연의 효과적인 해결 방법은 10밀리초입니다. 스포츠 토토vacuum_cost_delay10의 배수가 아닌 값에 대한 값은 다음으로 높은 10의 배수로 스포츠 토토하는 것과 동일한 결과를 가질 수 있습니다.
비용 기반 진공 청소를 사용할 때 적절한 값vacuum_cost_delay대개 10~20밀리초 정도로 매우 작습니다. 진공의 리소스 소비 조정은 다른 진공 비용 매개변수를 변경하여 수행하는 것이 가장 좋습니다.
공유 버퍼 캐시에서 발견된 버퍼를 비우기 위한 예상 비용입니다. 버퍼 풀을 잠그고, 공유 해시 테이블을 조회하고, 페이지의 콘텐츠를 스캔하는 데 드는 비용을 나타냅니다. 기본값은 1입니다.
디스크에서 읽어야 하는 버퍼를 진공청소하는 데 드는 예상 비용입니다. 이는 버퍼 풀을 잠그고, 공유 해시 테이블을 조회하고, 디스크에서 원하는 블록을 읽고, 해당 내용을 스캔하려는 노력을 나타냅니다. 기본값은 10입니다.
이전에 깨끗했던 블록을 진공으로 수정할 때 청구되는 예상 비용입니다. 이는 더티 블록을 디스크로 다시 플러시하는 데 필요한 추가 I/O를 나타냅니다. 기본값은 20입니다.
청소 과정을 정지시키는 누적 비용. 기본값은 200입니다.
참고:중요한 잠금을 유지하는 특정 작업이 있으므로 가능한 한 빨리 완료해야 합니다. 이러한 작업 중에는 비용 기반 진공 지연이 발생하지 않습니다. 따라서 비용이 지정된 한도보다 훨씬 높게 누적될 가능성이 있습니다. 이러한 경우 쓸데없이 긴 지연을 방지하기 위해 실제 지연은 다음과 같이 계산됩니다.vacuum_cost_delay * accumulated_balance / vacuum_cost_limit최대vacuum_cost_delay * 4.
'라는 별도의 서버 프로세스가 있습니다.배경 작가, 그 기능은 쓰기를 발행하는 것입니다."더러운"(신규 또는 수정) 공유 버퍼. 정리된 공유 버퍼의 수가 부족한 것으로 나타나면 백그라운드 작성자는 일부 더티 버퍼를 파일 시스템에 쓰고 이를 정리된 것으로 표시합니다. 이렇게 하면 사용자 쿼리를 처리하는 서버 프로세스가 깨끗한 버퍼를 찾을 수 없고 더티 버퍼 자체를 작성해야 할 가능성이 줄어듭니다. 그러나 백그라운드 기록기는 I/O 로드의 전체적인 순 증가를 초래합니다. 그렇지 않으면 반복적으로 더티된 페이지가 체크포인트 간격당 한 번만 기록될 수 있지만 백그라운드 기록기는 동일한 간격으로 더러워지면 페이지를 여러 번 쓸 수 있기 때문입니다. 이 하위 섹션에서 논의된 매개변수는 지역적 필요에 맞게 동작을 조정하는 데 사용될 수 있습니다.
백그라운드 기록기에 대한 활동 라운드 사이의 지연을 지정합니다. 각 라운드에서 작성자는 일정 수의 더티 버퍼에 대한 쓰기를 발행합니다(다음 매개변수로 제어 가능). 그런 다음 잠을 잔다.bgwriter_delay밀리초 단위로 반복됩니다. 그러나 버퍼 풀에 더티 버퍼가 없으면 다음과 관계없이 더 긴 절전 모드로 들어갑니다.bgwriter_delay. 기본값은 200밀리초(200ms). 많은 시스템에서 절전 지연의 효과적인 해결 방법은 10밀리초입니다. 스포츠 토토bgwriter_delay10의 배수가 아닌 값으로 스포츠 토토하면 다음으로 높은 10의 배수로 스포츠 토토하는 것과 동일한 결과가 나올 수 있습니다. 이 매개변수는스포츠 토토.conf파일 또는 서버 명령줄에서.
각 라운드에서 백그라운드 작성자는 이 만큼의 버퍼만 기록합니다. 이 값을 0으로 스포츠 토토하면 백그라운드 쓰기가 비활성화됩니다. (별도의 전용 보조 프로세스에 의해 관리되는 체크포인트는 영향을 받지 않습니다.) 기본값은 100개 버퍼입니다. 이 매개변수는에서만 스포츠 토토할 수 있습니다.스포츠 토토.conf파일 또는 서버 명령줄에서.
각 라운드에 기록된 더티 버퍼 수는 최근 라운드 동안 서버 프로세스에 필요한 새 버퍼 수를 기반으로 합니다. 평균 최근 수요에 다음을 곱합니다.bgwriter_lru_multiplier다음 라운드 동안 필요할 버퍼 수의 추정치에 도달합니다. 더티 버퍼는 사용 가능한 깨끗하고 재사용 가능한 버퍼가 많아질 때까지 기록됩니다. (단, 그 이상은 안됨bgwriter_lru_maxpages버퍼는 라운드마다 기록됩니다.) 따라서 1.0 스포츠 토토은 다음을 나타냅니다."제때에 맞춰"필요할 것으로 예상되는 버퍼 수를 정확하게 쓰는 정책입니다. 값이 클수록 수요 급증에 대한 완충 효과가 제공되는 반면, 값이 작을수록 의도적으로 서버 프로세스에서 쓰기가 수행되도록 둡니다. 기본값은 2.0입니다. 이 매개변수는에서만 스포츠 토토할 수 있습니다.스포츠 토토.conf파일 또는 서버 명령줄에서.
더 작은 값bgwriter_lru_maxpages그리고bgwriter_lru_multiplier백그라운드 작성기로 인한 추가 I/O 로드를 줄이되 서버 프로세스가 스스로 쓰기를 실행해야 하므로 대화형 쿼리가 지연될 가능성이 높아집니다.
동시 디스크 I/O 작업 수를 스포츠 토토합니다.포스트그레SQL동시에 실행될 수 있을 것으로 예상됩니다. 이 값을 높이면 개인이 수행하는 I/O 작업 수가 늘어납니다.포스트그레SQL세션이 병렬로 시작을 시도합니다. 허용되는 범위는 1~1000이며, 비동기 I/O 요청 발행을 비활성화하려면 0입니다. 현재 이 스포츠 토토은 비트맵 힙 스캔에만 영향을 미칩니다.
이 스포츠 토토의 좋은 시작점은 데이터베이스에 사용되는 RAID 0 스트라이프 또는 RAID 1 미러를 구성하는 별도의 드라이브 수입니다. (RAID 5의 경우 패리티 드라이브는 계산되지 않습니다.) 그러나 동시 세션에서 실행된 여러 쿼리로 인해 데이터베이스가 자주 사용되는 경우 더 낮은 값으로도 디스크 어레이를 계속 사용하는 데 충분할 수 있습니다. 디스크를 계속 사용하는 데 필요한 것보다 높은 값은 추가 CPU 오버헤드만 발생시킵니다.
메모리 기반 저장소 또는 버스 대역폭에 의해 제한되는 RAID 어레이와 같은 보다 이국적인 시스템의 경우 올바른 값은 사용 가능한 I/O 경로 수일 수 있습니다. 최상의 값을 찾으려면 몇 가지 실험이 필요할 수 있습니다.
비동기 I/O는 효과적인 방법에 따라 달라집니다.posix_fadvise일부 운영 체제에는 없는 기능입니다. 해당 기능이 없으면 이 매개변수를 0이 아닌 다른 값으로 스포츠 토토하면 오류가 발생합니다. 일부 운영 체제(예: Solaris)에서는 이 기능이 있지만 실제로는 아무 작업도 수행하지 않습니다.
지원되는 시스템에서 기본값은 1이고, 그렇지 않으면 0입니다.
시스템이 지원할 수 있는 최대 백그라운드 프로세스 수를 스포츠 토토합니다. 이 매개변수는 서버 시작 시에만 스포츠 토토할 수 있습니다.
대기 서버를 실행할 때, 이 매개변수를 마스터 서버와 같거나 높은 값으로 스포츠 토토해야 합니다. 그렇지 않으면 대기 서버에서 쿼리가 허용되지 않습니다.