diff options
author | Melanie Plageman <melanieplageman@gmail.com> | 2025-03-18 09:08:10 -0400 |
---|---|---|
committer | Melanie Plageman <melanieplageman@gmail.com> | 2025-03-18 09:08:10 -0400 |
commit | cc6be07ebde2aef7cc0507f997f563ce77c00a00 (patch) | |
tree | 8af20dffd2955c3d4f37527bba5ffbfbe252ae5a /src/include/storage/bufmgr.h | |
parent | 796bdda484c838313959f65e2b700f14ac7c0e66 (diff) |
Increase default maintenance_io_concurrency to 16
Since its introduction in fc34b0d9de27a, the default
maintenance_io_concurrency has been larger than the default
effective_io_concurrency. maintenance_io_concurrency primarily
controlled prefetching done on behalf of the whole system, for
operations like recovery. Therefore it makes sense for it to have a
value equal to or greater than effective_io_concurrency, which controls
I/O concurrency for reading a relation in a bitmap heap scan.
ff79b5b2ab increased effective_io_concurrency to 16, so we'll increase
maintenance_io_concurrency as well. For now, though, we'll keep the
defaults of effective_io_concurrency and maintenance_io_concurrency
equal to one another (16).
On fast, high IOPs systems, significantly higher values of
maintenance_io_concurrency are observably beneficial [1]. However, such
values would flood low IOPs systems and increase overall system I/O
latency.
It is worth mentioning that since 9256822608f and c3e775e608f,
maintenance_io_concurrency also controls the I/O concurrency of each
vacuum worker. Since many autovacuum workers may be simultaneously
issuing I/Os, we want to keep maintenance_io_concurrency appropriately
conservative.
[1] https://postgr.es/m/c5d52837-6256-0556-ac8c-d6d3d558820a%40enterprisedb.com
Suggested-by: Jakub Wartak <jakub.wartak@enterprisedb.com>
Discussion: https://postgr.es/m/CAKZiRmxdHQaU%2B2Zpe6d%3Dx%3D0vigJ1sfWwwVYLJAf%3Dud_wQ_VcUw%40mail.gmail.com
Diffstat (limited to 'src/include/storage/bufmgr.h')
-rw-r--r-- | src/include/storage/bufmgr.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index 79a89f87fcc..7f5def6bada 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -153,7 +153,7 @@ extern PGDLLIMPORT bool track_io_timing; /* only applicable when prefetching is available */ #ifdef USE_PREFETCH #define DEFAULT_EFFECTIVE_IO_CONCURRENCY 16 -#define DEFAULT_MAINTENANCE_IO_CONCURRENCY 10 +#define DEFAULT_MAINTENANCE_IO_CONCURRENCY 16 #else #define DEFAULT_EFFECTIVE_IO_CONCURRENCY 0 #define DEFAULT_MAINTENANCE_IO_CONCURRENCY 0 |