加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL最大化性能SSD

发布时间:2020-12-13 16:20:18 所属栏目:百科 来源:网络整理
导读:我将拥有一个庞大的PostgreSQL 9.3数据库,其中包含许多表,每个表的条目超过100M.这个数据库基本上是只读的(一旦我填写了所有必要的表并在数据库上不再构建索引)和单用户访问(从localhost运行和基准测试多个查询),因为将使用该数据库仅用于研究目的.查询将始
我将拥有一个庞大的PostgreSQL 9.3数据库,其中包含许多表,每个表的条目超过100M.这个数据库基本上是只读的(一旦我填写了所有必要的表并在数据库上不再构建索引)和单用户访问(从localhost运行和基准测试多个查询),因为将使用该数据库仅用于研究目的.查询将始终在整数DB字段上使用JOIN.

我可能会为此目的购买一块SSD(256-512GB).我之前没有使用过SSD作为数据库,所以有什么我应该害怕的吗?我可以将整个数据库放在SSD上,还是只放入索引?调整PostgreSQL for SSD需要什么特别的建议/教程吗?请注意,我有一个带有i7和32Gb RAM的好工作站,所以也许你也可以提供一些建议.

so is there anything I should be afraid of?

没有备份.像任何存储设备一样,它可能会死亡.保持备份.

如果数据加载需要很长时间,我会在完成数据加载后备份只读数据库,通过停止并复制它.这样一来,如果出现问题,以后再重新创建会更容易.

Can I put the entire DB on the SSD,or just the indexes?

如果适合,请存储整个数据库.

如果没有,请在SSD上放置一个表空间,并使用它来存储索引以及尽可能多的经过严格查询的表.

Is there any particular advice / tutorial required for tuning PostgreSQL for SSDs?

SSD的大部分优点都适用于OLTP写入负载.只读加载的主要优点是快速搜索,而slardiere已经涵盖了这一点.

您可能希望设置effective_io_concurrency = 5或其他东西以反映SSD可以执行快速,高度流水线的随机读取这一事实……但它只影响位图索引扫描,实际上random_page_cost已经包含了这一点.

对于只读负载,它没有太大的区别.

有关初始数据加载,请参阅:

> https://stackoverflow.com/q/12206600/398670
> https://stackoverflow.com/q/758945/398670
> https://stackoverflow.com/q/9407442/398670

Note,that I have a good workstation with an i7 and 32Gb of RAM,so perhaps you can offer some advice there too.

为数据加载设置一个大的maintenance_work_mem.我使用至少8GB.

为查询工作设置一个很大的work_mem.适当的大小取决于查询的复杂性.从500MB开始,从那里上升.

为初始数据加载提供checkpoint_segments(大量).

记得禁用VM overcommit! (参见PostgreSQL手册:http://www.postgresql.org/docs/current/static/kernel-resources.html)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读