问题描述
关于我的身份的一些背景:
我目前正在使用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,因此,任何见解都将不胜感激。
解决方法
-
shared_buffers
:从25%的可用RAM或8GB开始,无论哪个较低。您可以运行性能测试,以查看其他设置是否在您的情况下效果更好。
-
max_connections
:保留默认值100。如果您需要50个以上的连接,请使用连接池pgBouncer。 -
random_page_cost
:如果使用随机I / O的存储速度和使用顺序I / O的存储速度一样快,请使用1.1设置。否则,请坚持使用默认值4。