Re: Automatically sizing the IO worker pool

From: Jose Luis Tallon <jltallon(at)adv-solutions(dot)net>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Automatically sizing the IO worker pool
Date: 2025-04-13 17:45:40
Message-ID: e3e40261-a4c4-f914-bfd3-509e0febce02@adv-solutions.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 12/4/25 18:59, Thomas Munro wrote:
> It's hard to know how to set io_workers=3.

Hmmm.... enable the below behaviour if "io_workers=auto" (default) ?

Sometimes being able to set this kind of parameters manually helps
tremendously with specific workloads... :S

> [snip]
> Here's a patch to replace that GUC with:
>
> io_min_workers=1
> io_max_workers=8
> io_worker_idle_timeout=60s
> io_worker_launch_interval=500ms

Great as defaults / backwards compat with io_workers=auto. Sounds more
user-friendly to me, at least....

> [snip]
>
> Ideas, testing, flames etc welcome.

Logic seems sound, if a bit daunting for inexperienced users --- well,
maybe just a bit more than it is now, but ISTM evolution should try and
flatten novices' learning curve, right?

Just .02€, though.

Thanks,

--
Parkinson's Law: Work expands to fill the time alloted to it.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2025-04-13 17:51:28 Re: Buildfarm: Enabling injection points on basilisk/dogfish (Alpine / musl)
Previous Message Wolfgang Walther 2025-04-13 17:27:33 Re: Buildfarm: Enabling injection points on basilisk/dogfish (Alpine / musl)