Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u41P5-006ZMR-D6 for pgsql-hackers@arkaria.postgresql.org; Sun, 13 Apr 2025 17:45:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u41P2-008kvE-7e for pgsql-hackers@arkaria.postgresql.org; Sun, 13 Apr 2025 17:45:57 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u41P1-008kv6-UQ for pgsql-hackers@lists.postgresql.org; Sun, 13 Apr 2025 17:45:56 +0000 Received: from hermes.doblenet.net ([213.27.130.15]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u41Oy-0009K3-1D for pgsql-hackers@lists.postgresql.org; Sun, 13 Apr 2025 17:45:55 +0000 Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=adv-solutions.net; s=vmbox-2021; t=1744566346; bh=Z5VgUdB0yIXQG6FcEBZRUjm2GziKTnzMFJmD++YQRAg=; h=Message-ID:Date:Subject:From:From; b=RsvDHilsRNbwKkvWwFgNNACCHbwnCSp50wxeEvRIk1eXSXI3Nuqfdv5nBA1yczPO3 qoPrOthL9FtOvBkU6olylVvtpulujTXruXgzEt1AVXVxmVr9iezNrZVidMlIBgsK0U zL9UlpSYzySFFrVjDwsJHzZVU0l2GZAwkvqi0E22AKIFsIyB8VImHTFkDV+xZO4SP5 xgx0c4h8WjZbeE8V3KJts26PAV4ENpggoumesTkHiHdM0VGk/gZNFOsz/EW8L0utOc 56nR3xIGBGpW1//Il4uWme8bxqzYI6UiQIUXbxL6X4Z9F10kJ5Bprufk/3+CJZcJ3L 7QnoBWc+VIQsg== Date: Sun, 13 Apr 2025 19:45:40 +0200 MIME-Version: 1.0 Subject: Re: Automatically sizing the IO worker pool Content-Language: en-US To: Thomas Munro , PostgreSQL Hackers References: From: Jose Luis Tallon In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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.