Re: effective_io_concurrency's steampunk spindle maths
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Evgeniy Shishkin <itparanoia@gmail.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-03-09T22:28:23Z
Lists: pgsql-hackers
On Sat, Mar 7, 2020 at 11:54 PM Evgeniy Shishkin <itparanoia@gmail.com> wrote: > > On Mar 7, 2020, at 00:33, Thomas Munro <thomas.munro@gmail.com> wrote: > > That is indeed what led me to start thinking about what a good new > > name would be. > > MySQL has a term io_capacity. > https://dev.mysql.com/doc/refman/8.0/en/innodb-configuring-io-capacity.html > > The innodb_io_capacity variable defines the overall I/O capacity available to InnoDB. It should be set to approximately the number of I/O operations that the system can perform per second (IOPS). When innodb_io_capacity is set, InnoDB estimates the I/O bandwidth available for background tasks based on the set value. > > > > Perhaps we can have maintenance_io_capacity as well. That sounds like total I/O capacity for your system that will be shared out for various tasks, which would definitely be nice to have, but here we're talking about a simpler per-operation settings. What we have is a bit like work_mem (a memory limit used for each individual hash, sort, tuplestore, ...), compared to a hypothetical whole-system memory budget (which would definitely also be nice to have).
Commits
-
Introduce a maintenance_io_concurrency setting.
- fc34b0d9de27 13.0 landed
-
Simplify the effective_io_concurrency setting.
- b09ff53667ff 13.0 landed