vacuum_cost_page_hit
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | one | user | integer |
| 15 | one | user | integer |
| 16 | one | user | integer |
| 17 | one | user | integer |
| 18 | 1 | user | integer |
| 19 | 1 | user | integer |
cost 기반 vacuum delay 체계에서, vacuum이 shared buffer 캐시에 이미 있는 buffer를 처리할 때 부과하는 추정 비용이다. 기본값은 1이다.
buffer pool을 잠그고, 공유 hash table을 조회하고, 페이지 내용을 훑는 비용을 나타낸다. 디스크 I/O가 없는 가장 싼 경로이므로 세 가지 page 비용 중 최솟값이며, 다른 두 비용의 기준점 역할을 한다. 디스크에서 읽어야 하는 경우는 vacuum_cost_page_miss(기본 2), 깨끗한 블록을 dirty로 만드는 경우는 vacuum_cost_page_dirty(기본 20)로 각각 더 비싸게 계산된다.
vacuum이 페이지를 처리하며 누적한 이 비용들의 합이 vacuum_cost_limit에 도달하면 프로세스는 vacuum_cost_delay만큼 잠들었다가 재개한다. 이 값 자체를 바꾸는 일은 거의 없고, vacuum 처리량 조절은 vacuum_cost_limit과 delay 쪽에서 하는 것이 일반적이다.
출처: PostgreSQL 18 문서