Skip to content

Commit efbe1da

Browse files
committed
chore(postgresql-cluster): optimization of database parameters
1 parent 04f0063 commit efbe1da

9 files changed

Lines changed: 76 additions & 42 deletions

File tree

addons/postgresql-cluster/15/chart/postgresql-cluster/templates/networkpolicy.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,16 @@ spec:
2323
- ports:
2424
- port: 5432
2525
- port: 9000
26+
- port: 80
27+
- port: 8008
2628
{{- if and .Values.metrics.enabled }}
2729
- port: {{ .Values.metrics.containerPort }}
28-
{{ end }}
30+
{{ end }}
2931
{{- if or .Values.networkPolicy.allowCurrentNamespace .Values.networkPolicy.allowNamespaces }}
3032
from:
33+
- namespaceSelector:
34+
matchLabels:
35+
kubernetes.io/metadata.name: backup
3136
{{- if .Values.networkPolicy.allowCurrentNamespace }}
3237
- namespaceSelector:
3338
matchLabels:

addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ preInitScript: |
5454
restapi:
5555
listen: 0.0.0.0:8008
5656
connect_address: 0.0.0.0:8008
57-
authentication:
58-
username: NzUwNjg3MTEtMDgzOS00YTNkLWEyNjAt
59-
password: YjJjMDNjYjQtMDA0Ny00NTgwLTgwYjMt
6057
bootstrap:
6158
dcs:
6259
ttl: 30
@@ -75,16 +72,19 @@ preInitScript: |
7572
- host replication postgres 0.0.0.0/0 scram-sha-256
7673
custom_conf: '/opt/drycc/postgresql/config/custom_conf.conf'
7774
parameters:
78-
wal_level: hot_standby
75+
max_connections: {{ .Values.patroni.pgParameters.max_connections }}
76+
max_worker_processes: {{ .Values.patroni.pgParameters.max_worker_processes }}
77+
max_parallel_workers: {{ .Values.patroni.pgParameters.max_parallel_workers }}
78+
wal_level: logical
7979
hot_standby: "on"
80-
max_connections: 1005
81-
max_worker_processes: 8
8280
max_wal_senders: 10
8381
max_replication_slots: 10
8482
hot_standby_feedback: on
8583
max_prepared_transactions: 0
8684
max_locks_per_transaction: 64
8785
wal_log_hints: "on"
86+
wal_keep_size: "1 GB"
87+
max_slot_wal_keep_size: {{ .Values.patroni.pgParameters.max_slot_wal_keep_size | quote }}
8888
track_commit_timestamp: "off"
8989
archive_mode: "on"
9090
archive_timeout: 300s
@@ -194,14 +194,19 @@ postgresql:
194194
log_min_duration_statement = 1000
195195
max_wal_size = 4GB
196196
min_wal_size = 4GB
197-
max_connections = 1005
198-
max_worker_processes = 8
199197
max_wal_senders = 10
200198
max_replication_slots = 10
201199
max_prepared_transactions = 0
202200
max_locks_per_transaction = 64
203201
204202
patroni:
203+
pgParameters:
204+
max_worker_processes: 64
205+
max_parallel_workers: 32
206+
max_connections: 2000
207+
max_slot_wal_keep_size: '2 GB'
208+
209+
205210
## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods
206211
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
207212
##

addons/postgresql-cluster/15/plans/standard-16c64g400/values.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
## @param fullnameOverride String to fully override common.names.fullname template
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-400
4+
patroni:
5+
pgParameters:
6+
max_worker_processes: 32
7+
max_parallel_workers: 16
8+
max_connections: 2000
9+
max_slot_wal_keep_size: '10 GB'
410

511
postgresql:
612
config: |-
713
# Connectivity
8-
max_connections = 2000
914
superuser_reserved_connections = 3
1015
1116
# Memory Settings
@@ -28,15 +33,14 @@ postgresql:
2833
# Checkpointing:
2934
checkpoint_timeout = '30 min'
3035
checkpoint_completion_target = 0.9
31-
max_wal_size = '6 GB'
36+
max_wal_size = '16 GB'
3237
min_wal_size = '2 GB'
3338
3439
# WAL writing
3540
wal_compression = on
3641
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3742
wal_writer_delay = 200ms
3843
wal_writer_flush_after = 1MB
39-
wal_keep_size = '10 GB'
4044
4145
# Background writer
4246
bgwriter_delay = 200ms
@@ -45,7 +49,6 @@ postgresql:
4549
bgwriter_flush_after = 0
4650
4751
# Parallel queries:
48-
max_worker_processes = 16
4952
max_parallel_workers_per_gather = 8
5053
max_parallel_maintenance_workers = 8
5154
max_parallel_workers = 16

addons/postgresql-cluster/15/plans/standard-2c4g20/values.yaml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-20
44

5+
patroni:
6+
pgParameters:
7+
max_worker_processes: 4
8+
max_parallel_workers: 2
9+
max_connections: 1000
10+
max_slot_wal_keep_size: '2 GB'
11+
512
postgresql:
613
config: |-
714
# Connectivity
8-
max_connections = 1000
915
superuser_reserved_connections = 3
1016
1117
# Memory Settings
@@ -29,35 +35,30 @@ postgresql:
2935
checkpoint_timeout = '15 min'
3036
checkpoint_completion_target = 0.9
3137
max_wal_size = '2 GB'
32-
min_wal_size = '512 MB'
38+
min_wal_size = '1 GB'
3339
3440
3541
# WAL writing
3642
wal_compression = on
3743
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3844
wal_writer_delay = 200ms
3945
wal_writer_flush_after = 1MB
40-
wal_keep_size = '1 GB'
41-
4246
4347
# Background writer
4448
bgwriter_delay = 200ms
4549
bgwriter_lru_maxpages = 100
4650
bgwriter_lru_multiplier = 2.0
4751
bgwriter_flush_after = 0
4852
49-
# Parallel queries:
50-
max_worker_processes = 2
53+
# Parallel queries:
5154
max_parallel_workers_per_gather = 1
5255
max_parallel_maintenance_workers = 1
53-
max_parallel_workers = 2
5456
parallel_leader_participation = on
5557
5658
# Advanced features
5759
enable_partitionwise_join = on
5860
enable_partitionwise_aggregate = on
5961
jit = on
60-
max_slot_wal_keep_size = '1000 MB'
6162
track_wal_io_timing = on
6263
maintenance_io_concurrency = 100
6364

addons/postgresql-cluster/15/plans/standard-2c8g50/values.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-50
44

5+
patroni:
6+
pgParameters:
7+
max_worker_processes: 4
8+
max_parallel_workers: 2
9+
max_connections: 2000
10+
max_slot_wal_keep_size: '5 GB'
11+
512
postgresql:
613
config: |-
714
# Connectivity
8-
max_connections = 1000
915
superuser_reserved_connections = 3
1016
1117
# Memory Settings
@@ -28,15 +34,14 @@ postgresql:
2834
# Checkpointing:
2935
checkpoint_timeout = '15 min'
3036
checkpoint_completion_target = 0.9
31-
max_wal_size = '2 GB'
32-
min_wal_size = '512 MB'
37+
max_wal_size = '4 GB'
38+
min_wal_size = '1 GB'
3339
3440
# WAL writing
3541
wal_compression = on
3642
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3743
wal_writer_delay = 200ms
3844
wal_writer_flush_after = 1MB
39-
wal_keep_size = '3 GB'
4045
4146
4247
# Background writer
@@ -46,7 +51,6 @@ postgresql:
4651
bgwriter_flush_after = 0
4752
4853
# Parallel queries:
49-
max_worker_processes = 2
5054
max_parallel_workers_per_gather = 1
5155
max_parallel_maintenance_workers = 1
5256
max_parallel_workers = 2

addons/postgresql-cluster/15/plans/standard-32c128g800/values.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-800
44

5+
patroni:
6+
pgParameters:
7+
max_worker_processes: 64
8+
max_parallel_workers: 32
9+
max_connections: 2000
10+
max_slot_wal_keep_size: '100 GB'
11+
512
postgresql:
613
config: |-
714
# Connectivity
8-
max_connections = 2000
915
superuser_reserved_connections = 3
1016
1117
# Memory Settings
@@ -28,15 +34,14 @@ postgresql:
2834
# Checkpointing:
2935
checkpoint_timeout = '30 min'
3036
checkpoint_completion_target = 0.9
31-
max_wal_size = '8 GB'
37+
max_wal_size = '64 GB'
3238
min_wal_size = '4 GB'
3339
3440
# WAL writing
3541
wal_compression = on
3642
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3743
wal_writer_delay = 200ms
3844
wal_writer_flush_after = 1MB
39-
wal_keep_size = '10 GB'
4045
4146
# Background writer
4247
bgwriter_delay = 200ms
@@ -45,7 +50,6 @@ postgresql:
4550
bgwriter_flush_after = 0
4651
4752
# Parallel queries:
48-
max_worker_processes = 32
4953
max_parallel_workers_per_gather = 16
5054
max_parallel_maintenance_workers = 16
5155
max_parallel_workers = 32

addons/postgresql-cluster/15/plans/standard-32c64g4000/values.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-800
44

5+
patroni:
6+
pgParameters:
7+
max_worker_processes: 64
8+
max_parallel_workers: 32
9+
max_connections: 2000
10+
max_slot_wal_keep_size: '200 GB'
11+
512
postgresql:
613
config: |-
714
# Connectivity
8-
max_connections = 2000
915
superuser_reserved_connections = 3
1016
1117
# Memory Settings
@@ -29,14 +35,13 @@ postgresql:
2935
checkpoint_timeout = '30 min'
3036
checkpoint_completion_target = 0.9
3137
max_wal_size = '32 GB'
32-
min_wal_size = '16 GB'
38+
min_wal_size = '4 GB'
3339
3440
# WAL writing
3541
wal_compression = on
3642
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3743
wal_writer_delay = 200ms
3844
wal_writer_flush_after = 1MB
39-
wal_keep_size = '60 GB'
4045
4146
# Background writer
4247
bgwriter_delay = 200ms
@@ -45,7 +50,6 @@ postgresql:
4550
bgwriter_flush_after = 0
4651
4752
# Parallel queries:
48-
max_worker_processes = 32
4953
max_parallel_workers_per_gather = 16
5054
max_parallel_maintenance_workers = 16
5155
max_parallel_workers = 32

addons/postgresql-cluster/15/plans/standard-4c16g100/values.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-100
44

5+
patroni:
6+
pgParameters:
7+
max_worker_processes: 8
8+
max_parallel_workers: 4
9+
max_connections: 2000
10+
max_slot_wal_keep_size: '10 GB'
11+
512
postgresql:
613
config: |-
714
# Connectivity
8-
max_connections = 2000
915
superuser_reserved_connections = 3
1016
1117
# Memory Settings
@@ -28,15 +34,14 @@ postgresql:
2834
# Checkpointing:
2935
checkpoint_timeout = '25 min'
3036
checkpoint_completion_target = 0.9
31-
max_wal_size = '4 GB'
37+
max_wal_size = '8 GB'
3238
min_wal_size = '2 GB'
3339
3440
# WAL writing
3541
wal_compression = on
3642
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3743
wal_writer_delay = 200ms
3844
wal_writer_flush_after = 1MB
39-
wal_keep_size = '4 GB'
4045
4146
4247
# Background writer
@@ -46,7 +51,6 @@ postgresql:
4651
bgwriter_flush_after = 0
4752
4853
# Parallel queries:
49-
max_worker_processes = 4
5054
max_parallel_workers_per_gather = 2
5155
max_parallel_maintenance_workers = 2
5256
max_parallel_workers = 4

addons/postgresql-cluster/15/plans/standard-8c32g200/values.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
##
33
fullnameOverride: hb-postgresql-cluster-standard-200
44

5+
patroni:
6+
pgParameters:
7+
max_worker_processes: 16
8+
max_parallel_workers: 8
9+
max_connections: 2000
10+
max_slot_wal_keep_size: '10 GB'
11+
512
postgresql:
613
config: |-
714
# Connectivity
8-
max_connections = 2000
915
superuser_reserved_connections = 3
1016
1117
# Memory Settings
@@ -28,15 +34,14 @@ postgresql:
2834
# Checkpointing:
2935
checkpoint_timeout = '25 min'
3036
checkpoint_completion_target = 0.9
31-
max_wal_size = '5 GB'
37+
max_wal_size = '16 GB'
3238
min_wal_size = '3 GB'
3339
3440
# WAL writing
3541
wal_compression = on
3642
wal_buffers = -1 # auto-tuned by Postgres till maximum of segment size (16MB by default)
3743
wal_writer_delay = 200ms
3844
wal_writer_flush_after = 1MB
39-
wal_keep_size = '5 GB'
4045
4146
# Background writer
4247
bgwriter_delay = 200ms
@@ -45,7 +50,6 @@ postgresql:
4550
bgwriter_flush_after = 0
4651
4752
# Parallel queries:
48-
max_worker_processes = 8
4953
max_parallel_workers_per_gather = 4
5054
max_parallel_maintenance_workers = 4
5155
max_parallel_workers = 8

0 commit comments

Comments
 (0)