diff options
| author | Thomas Munro <tmunro@postgresql.org> | 2020-03-16 12:31:34 +1300 |
|---|---|---|
| committer | Thomas Munro <tmunro@postgresql.org> | 2020-03-16 17:14:26 +1300 |
| commit | fc34b0d9de27ab5ac2887da00b3892bdabd89e45 (patch) | |
| tree | bfa65c51892f19538b6e7e53633654ddce5eb989 /src/include | |
| parent | b09ff53667ffc986371ec8ffa372916ad460220d (diff) | |
| download | postgresql-fc34b0d9de27ab5ac2887da00b3892bdabd89e45.tar.gz | |
Introduce a maintenance_io_concurrency setting.
Introduce a GUC and a tablespace option to control I/O prefetching, much
like effective_io_concurrency, but for work that is done on behalf of
many client sessions.
Use the new setting in heapam.c instead of the hard-coded formula
effective_io_concurrency + 10 introduced by commit 558a9165e08. Go with
a default value of 10 for now, because it's a round number pretty close
to the value used for that existing case.
Discussion: https://postgr.es/m/CA%2BhUKGJUw08dPs_3EUcdO6M90GnjofPYrWp4YSLaBkgYwS-AqA%40mail.gmail.com
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/commands/tablespace.h | 1 | ||||
| -rw-r--r-- | src/include/storage/bufmgr.h | 1 | ||||
| -rw-r--r-- | src/include/utils/spccache.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/src/include/commands/tablespace.h b/src/include/commands/tablespace.h index 41c457052d..fd1b28fca2 100644 --- a/src/include/commands/tablespace.h +++ b/src/include/commands/tablespace.h @@ -40,6 +40,7 @@ typedef struct TableSpaceOpts float8 random_page_cost; float8 seq_page_cost; int effective_io_concurrency; + int maintenance_io_concurrency; } TableSpaceOpts; extern Oid CreateTableSpace(CreateTableSpaceStmt *stmt); diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index 2bf5afdade..d2a5b52f6e 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -58,6 +58,7 @@ extern int bgwriter_lru_maxpages; extern double bgwriter_lru_multiplier; extern bool track_io_timing; extern int effective_io_concurrency; +extern int maintenance_io_concurrency; extern int checkpoint_flush_after; extern int backend_flush_after; diff --git a/src/include/utils/spccache.h b/src/include/utils/spccache.h index 5112ba3c37..7e4ec69aa2 100644 --- a/src/include/utils/spccache.h +++ b/src/include/utils/spccache.h @@ -16,5 +16,6 @@ void get_tablespace_page_costs(Oid spcid, float8 *spc_random_page_cost, float8 *spc_seq_page_cost); int get_tablespace_io_concurrency(Oid spcid); +int get_tablespace_maintenance_io_concurrency(Oid spcid); #endif /* SPCCACHE_H */ |
