最有效的Postgres设置,当主机有大量的空闲内存调整



我的雇主在一个体面的"大型"虚拟机上运行Postgres。它目前配置了24核和128 GB物理RAM。

我们的监控方案表明,即使在最大负载期间,Postgres进程也不会消耗超过11 GB的RAM。假设所有剩余的空闲RAM都被操作系统用来缓存文件系统。

我的问题是:什么样的配置设置,如果进行调整,最有可能提供一个混合事务性和分析性工作负载的性能提升?

换句话说,考虑到有大量的空闲内存,我在哪里可以获得最"物有所值"的设置?

编辑添加:

以下是调优指南中经常提到的一些设置的当前值。注意:我没有设置这些值;我正在阅读conf文件中的内容:

shared_buffers = 32GB
work_mem = 144MB
effective_cache_size = 120GB

"sort_mem"one_answers"max_fsm_pages"没有在文件的任何地方设置。

Postgres版本是9.3.5

控制Postgres内存使用的设置是shared_buffers。建议设置为25%的RAM,最大8GB。

由于11GB接近8GB,看来您的系统调优得很好。你可以使用effective_cache_size来告诉Postgres你有一个服务器,有大量的内存用于操作系统磁盘缓存。

开始Postgres性能调优的两个好地方:

  • 打开SQL查询日志和explain analyze慢速或频繁查询
  • 使用pg_activity (Postgres的"顶部")来查看是什么使您的服务器繁忙

相关内容

  • 没有找到相关文章

最新更新