我想调整我的PostgreSQL服务器,但即使在线阅读了一些教程后,我也无法从数据库中获得良好的性能。
我的服务器包含以下规格:
我想将postgres用作以下任务的数据存储/聚合系统:
这意味着,我并不关心以下事项:
目前,加载速度很好,但创建索引和聚合数据需要很长时间,几乎不使用任何内存。
这是我目前的postgres.config:http://pastebin.com/KpSi2zSd
答案 0 :(得分:1)
我认为这里显而易见的一步是大幅增加work_mem和maintenance_work_mem,精细细节是“多少”?
如果您可以控制一次运行多少聚合查询和/或索引创建,那么您可以非常积极地使用这些,但是您可能面临10个并发用户和30GB设置的风险服务器处于内存压力下。
为慢速运行的查询获取一些执行计划真的会让您受益,因为他们会告诉您,例如,“排序方法:外部合并磁盘”需要这么多内存,然后您可以调整设置同时密切关注服务器上的总内存使用情况。
我不排除你必须重新加载你的负载,以便自己进行最耗费资源的运行,同时减少资源密集型操作。
但是,我认为目前您缺少一些可以让您在内存分配上做出正确选择的硬指标。