2

关于我的状态的一点背景:

我目前正在使用 OVH Advance 5 服务器(AMD Epyc 7451 - 24 c / 48 t - 128 GB 内存 - 450x2 GB SSD),我想知道我应该为 Postgresql 使用的规格。

我将使用多进程运行 24 个 Python 脚本和 24 个不同的池(使用 asynpg 连接),并且我通常会使用大约 40 GB 的 RAM 左右——这意味着我有大约 88 GB 的内存可以使用。

在我从未真正接触过 Postgres 的任何设置之前;我应该使用什么样的价值观:

共享内存/最大连接数/随机页面成本?

阅读它,它说建议共享内存通常应该占用大约 25% 的可用 RAM - 但其他消息来源说 2 - 4 GB 通常是最佳点,因此任何见解都将不胜感激。

4

1 回答 1

3
  • shared_buffers:从可用 RAM 的 25% 或 8GB 开始,以较低者为准。

    您可以运行性能测试以查看其他设置是否更适合您的情况。

  • max_connections:保留默认 100。如果您认为需要超过 50 个连接,请使用连接池程序 pgBouncer。

  • random_page_cost:如果您的存储使用随机 I/O 与使用顺序 I/O 一样快,请使用 1.1 的设置。否则,坚持使用默认值 4。

于 2020-08-17T06:41:15.217 回答