有啥办法可以加快 Greenplum 的速度吗?
Posted
技术标签:
【中文标题】有啥办法可以加快 Greenplum 的速度吗?【英文标题】:Are there anyways to speed Greenplum up?有什么办法可以加快 Greenplum 的速度吗? 【发布时间】:2021-06-30 07:54:31 【问题描述】:我有3台vms(开源版的一主两段主机),每台32核64线程,内存251G。 一张大表,有近70个字段,上亿条记录。 各部分定义如下:
with (appendonly=true,compresslevel=5)
distributed by(record_id) partition by range(dt_date)
(partition p201012 start ('2021-01-01'::date) end ('2021-01-31'::date) every ('1 days'::interval))
集群有 30 个主段和 30 个镜像段。 插入(
所以我的问题是:有人在使用 Gpdb 吗?有什么办法可以加快速度吗?
谢谢你!
【问题讨论】:
【参考方案1】:我最初的想法是,对于系统上的少数 cpu,您有太多的主/镜像 (30)。一般的经验法则是每段 3-4 cpu/vcpu(即 postgres 数据库)。您的系统应重新配置为每台主机只有 2 个主节点,以更好地利用主机上的 CPU 和内存;如果段主机上的内存量很小,1 甚至可能会更好。
就目前而言,您正在用太多的数据库淹没系统,试图利用太少的系统资源。
吉姆
【讨论】:
感谢您的建议。一开始我做了一个master两个主要段,我发现查询时间减少了,而我增加了更多的段。这就是产生 30 个主要部分的原因。 所有写入操作都需要分散到所有段,这就是 INSERT 如此缓慢的原因。而且您仍然只有 3 个虚拟机,这意味着最多 3 个物理 I/O 通道,如果一切都运行在同一台主机上,则还有一个物理 I/O 通道。以上是关于有啥办法可以加快 Greenplum 的速度吗?的主要内容,如果未能解决你的问题,请参考以下文章
有啥办法能加快Android Studio中Gradle build速度
QTcpSocket 仅每 ~0.5 秒读取一次数据,即使数据包非常小,有啥方法可以加快速度吗?
ORDER BY 让我的查询超级慢。里面的例子。有啥加快速度的想法吗?