Hologres不同的实例规格定义了不同的Core和内存资源,由于计算和存储分离架构,存储资源与实例规格不相关。本文将为您介绍实例的资源规格,您可以根据需要动态调整实例的规格,包括升配、降配,独立修改计算和存储资源。

基本概念

Hologres运行时的资源包括用于元数据管理的进程资源、用于查询服务的计算资源、用于优化数据写入的导入链路资源以及缓存服务。所有服务基于容器技术,通过多个并行的容器计算节点实现高性能并行计算能力。

Hologres基于实例的资源规格提供默认的最大连接数和预分配的Shard数,这些参数是针对大多数场景,经过调校和优化的默认配置。其中,最大连接数不可修改,Shard数可通过相关函数调整。系统扩容或者缩容时,最大连接数同时调整,但扩缩容之前的DB默认Shard数不调整,需要手动修改,新建的DB其Shard数为对应规格的默认值

在扩容后,更多的Core资源可以提供更好的查询并发能力,大多数使用场景不需要调整Shard数。当您需要更大的写入能力时,可以扩大Shard数,提高并发写入的吞吐量。同时,行存表由于天然的分布特性,Shard的个数越多,其读取性能会更高。

实例默认资源表

Hologres基于实例的资源规格提供默认的最大连接数和预分配的Shard数,默认规格配置如下表所示。
说明
  • 为提升用户体验,从V0.10.25版本开始默认连接数将会增加一倍(默认增加)。从V0.10.31版本开始,默认shard数将会降低,具体变化可以参考下面表格。
  • 在规格扩容小于5倍时,不建议调整Shard。该默认规格适合绝大部分场景,考虑了写入和查询的平衡配置。
  • 最大总连接数=单Frontend节点最大连接数*Frontend节点数,括号中为具体每个节点的规格,其中括号前部分为单接入节点最大连接数,后部分为总接入节点个数。
实例规格 原默认Shard数(适用于V0.10.30及以下版本) 新默认Shard数(适用于V0.10.31及以上版本) 原最大总连接数(适用于V0.10.24及以下版本) 新最大总连接数(适用于V0.10.25及以上版本) Superuser预留总连接数(适用于V0.10及以下版本) Superuser预留总连接数(适用于V1.1及以上版本)
32Core 20 20 128(64*2) 256(128*2) 6 10(5*2)
64Core 40 40 256(128*2) 512(128*4) 6 20(5*4)
96Core 60 60 384(192*2) 768(128*6) 6 30(5*6)
128Core 80 80 513(171*3) 1024(128*8) 9 40(5*8)
160Core 100 80 640(160*4) 1280(128*10) 12 50(5*10)
192Core 120 80 770(154*5) 1536(128*12) 15 60(5*12)
256Core 160 120 1026(171*6) 2048(128*16) 18 80(5*16)
400Core 240 160 1600(160*10) 3200(128*25) 30 125(5*25)
512Core 320 160 2052(171*12) 4096(128*32) 36 160(5*32)

查看并管理实例默认连接数

Hologres支持您查看并管理实例默认连接数。
  • 查看连接数。
    当您创建实例并连接开发工具之后,可以执行如下语句进行查看,其中返回值是单个Frontend接入节点的最大连接数。
    说明 Hologres实例总的最大连接数=单Frontend节点最大连接数*Frontend节点数。
    --查看单接入节点的最大连接数。
    show max_connections;
  • 管理连接。

    实例会为Superuser提供预留连接数,当连接数达到默认规格上限时,Superuser可以连接Hologres使用SQL命令查看空闲连接并进行释放,或者根据业务情况升配。查看空闲连接并进行释放连接的具体操作,请参见连接数

查看并修改实例Shard数

在实例扩容后,大多数情况下不需要调整Shard数,更多的Core资源可以提供更好的查询并发能力。如果您需要更大的写入能力,可以通过扩大Shard数来提高并发写入的吞吐量。

同时,行存表由于天然的分布特性,更多的Shard读取性能会更高。如果因业务需求,需要查看以及修改实例的Shard数,请参见Resharding(Beta)