共享内存缓冲区Postgresql

时间:2020-08-15 21:08:57

标签: python postgresql asyncpg

关于我的身份的一些背景:

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

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

在我从未真正接触过Postgres的任何设置之前;我应该使用哪种值:

共享内存/最大连接数/随机页面费用?

仔细阅读它,建议共享内存通常应占用大约25%的可用RAM-但其他消息来源则指出,通常需要2-4 GB,因此,任何见解都将不胜感激。

1 个答案:

答案 0 :(得分:2)

  • shared_buffers:从25%的可用RAM或8GB开始,无论哪个较低。

    您可以运行性能测试,以查看其他设置是否在您的情况下效果更好。

  • max_connections:保留默认值100。如果您需要50个以上的连接,请使用连接池pgBouncer。

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