0

我开始了一个已经投入生产的项目,我们有一些客户已经注册并支付了服务费用(SaaS 业务)。

我们使用带有默认 postgresql.conf 设置的 Postgresql 的 Ubuntu VPS。

基于 PGtune,为了优化数据库,我应该在 postgresql.conf 中设置这些设置:

# DB Version: 10
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 1 GB
# CPUs num: 1
# Data Storage: ssd

max_connections = 200
shared_buffers = 256MB
effective_cache_size = 768MB
maintenance_work_mem = 64MB
checkpoint_completion_target = 0.7
wal_buffers = 7864kB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 655kB
min_wal_size = 1GB
max_wal_size = 4GB

目前我有以下设置:

max_connections = 100
shared_buffers = 128MB

PGTune推荐的所有其他设置都被注释掉了。

在数据库处于生产和运行状态时更改/调整这些设置是否安全?

4

1 回答 1

0

如果不重新启动 PostgreSQL,您将无法更改max_connectionsshared_buffers因此您需要很短的停机时间。

提高max_connections到 100 以上是个坏主意。如果您需要许多客户端连接,请使用 pgBouncer。

于 2020-06-29T05:59:35.097 回答