io_workers
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 18 | 3 | sighup | integer |
I/O worker process를 몇 개 띄울지 정한다. 기본값은 3이며, postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.
이 설정은 io_method가 worker일 때만 효과가 있다. PostgreSQL 18의 asynchronous I/O에서 worker 방식은 backend가 요청한 I/O를 전용 I/O worker process들이 대신 수행하는 구조라, worker 수가 곧 서버 전체가 동시에 처리할 수 있는 비동기 I/O의 폭을 결정한다.
운영 노트: I/O가 많은 서버에서 worker 3개가 병목이 되면 비동기로 발행된 요청이 대기열에 쌓인다. storage가 병렬 I/O를 잘 받아 주는 NVMe급이라면 값을 올려 보면서
pg_stat_io와 대기 이벤트로 효과를 확인하는 식의 접근이 무난하다. sighup 컨텍스트라 reload만으로 조정할 수 있다.출처: PostgreSQL 18 문서