io_min_workers
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 19 | 2 | sighup | integer |
asynchronous I/O를 처리하는 I/O worker process pool의 최소 크기를 정한다. PostgreSQL 19(beta)에서 추가된 파라미터로, 기본값은 2다.
PostgreSQL 18에서는 I/O worker 수를 io_workers 하나로 고정했지만, PostgreSQL 19는 부하에 따라 pool 크기가 자동으로 늘고 주는 방식으로 바꿨다. io_min_workers가 pool의 하한, io_max_workers가 상한이며, worker가 늘어나는 속도는 io_worker_launch_interval이, 한가해진 worker가 정리되는 시점은 io_worker_idle_timeout이 제어한다. 네 파라미터 모두 io_method가 worker일 때만 효과가 있고, postgresql.conf 파일이나 서버 command line에서만 설정할 수 있다.
이 값만큼의 I/O worker는 부하가 없어도 항상 유지된다. I/O 요청이 꾸준히 들어오는 인스턴스라면 하한을 올려 burst 초기에 worker를 새로 띄우는 지연을 줄일 수 있다.
운영 노트: PostgreSQL 18에서
io_workers를 수동으로 튜닝했다면, 19에서는 그 값을 그대로 옮기기보다 일단 기본값의 자동 조절에 맡기고 벤치마크로 확인한 뒤 조정하는 편이 낫다.출처: PostgreSQL 19 문서