CU选配参考

阿里云Elasticsearch Serverless检索增强型应用(8.17版),采用计算单元CU进行收费(1 CU的性能 ≈ 1CPU + 4GB内存)。相较于自建服务器,CU可实现100%的资源利用率,无需担心资源浪费问题(例如,自建服务器可能会因为资源分配不合理导致利用率较低)。您可基于实际业务需求,参考本文评估CU用量,并合理设置CU配额。

使用须知

进行检索增强型应用(8.17版)的CU选配前,请先了解如下CU类型。

CU类型(按照用途划分)

描述

配额(单位:CU/s)

固定CU

预先配置的CU资源基线,用于应对常规负载,确保业务流量处理能力的稳定性。

支持选择2CU/s4CU/s6CU/s8CU/s,默认为2CU/s,且按照1:1分配读写CU资源(即读CU和写CU分别为1CU/s)。

弹性CU

用于应对突发流量的场景(例如,秒杀、日志高峰)。当CU用量超出固定CU时,系统将自动调度弹性资源。

说明

该功能可按需启用。若未开启,当CU用量超出固定CU配额时,系统将拒绝超出部分的请求,产生429报错。

CU额度最高可扩展至固定CU3倍,默认按照1:1分配读写CU资源。

说明

例如,固定CU配置为2CU/s,则系统最高可使用的CU总量为2 * 3 = 6 CU/s,其中读CU、写CU分别为3CU/s

CU

查询操作(例如,搜索、聚合、数据检索)消耗的CU量。

CU

写入操作(例如,数据索引、更新、删除)消耗的CU量。

CU

系统总共消耗的CU量,即读CU和写CU的消耗总量。

CU分配规则与上限说明

检索增强型应用(8.17版)底层采用读写分离架构,读写CU默认按照1:1分配。可参考下表,查看固定CU、总CU、读CU、写CU之间的配比关系及上限说明,从而根据实际消耗的读写CU用量上限,评估所需的固定CU配额及总CU最低规格。

  • 未开启弹性计算功能

    说明

    若未开启弹性计算功能,当CU用量超出固定CU配额时,系统将拒绝超出部分的请求,产生429报错。为确保服务的稳定性及流量上涨时可正常访问,建议您开启弹性计算功能。

    固定CU配额(单位:CU/s)

    CU上限(单位:CU/s)

    CU上限(单位:CU/s)

    CU上限(单位:CU/s)

    X

    X

    0.5X

    0.5X

  • 开启弹性计算功能

    固定CU配额(单位:CU/s)

    弹性CU上限(单位:CU/s)

    CU上限(单位:CU/s)

    CU上限(单位:CU/s)

    CU上限(单位:CU/s)

    X

    2X

    3X

    1.5X

    1.5X

前提条件

创建检索增强型应用(8.17版)

选配参考

您可参考CU分配规则与上限说明,并通过如下步骤评估所需的CU量,若当前CU配置不合理,请按需修改CU配额

步骤一:根据读写CU上限,评估总CU最低规格

Elasticsearch中,查询和写入操作是系统的主要工作负载,该类操作通常会消耗大量的计算资源。

  • CU(即查询计算资源):处理查询操作,包括全文搜索、聚合查询等。该类操作需确保有充足的CPU和内存资源来处理并发查询。

  • CU(即写入计算资源):处理写入操作,包括数据的批量写入、索引的建立和更新等。该类操作对I/O和计算资源(CPU、内存)要求较高。

通过读CU、写CU的用量上限,可直接反映出系统在高峰期和正常运行期间对计算资源的需求。因此,您可根据业务以往的读写CU上限,预估系统在高负载下仍能平稳运行所需的最低CU规格。

步骤二:根据次峰值及每日弹性CU用量,评估固定CU配额

检索增强型应用(8.17版)中,固定CU相较弹性CU费用较低,且仅在实际CU用量超出固定CU配额时,才会收取弹性CU费用。建议您根据业务次高峰及每日弹性CU用量,结合步骤一评估的最低CU规格,合理配置固定CU配额,以降低成本。

  • 业务次高峰:可保证在大部分时间内系统性能稳定,同时,也可应极端且不频繁的负载情况(即绝对高峰),减少不必要的资源浪费。

  • 每日弹性CU用量:常用于应对高峰期的临时资源调整,通过合理配置固定CU配额,可减少弹性资源的过度使用,从而降低成本。

说明

弹性资源价格较高,若只在必要且较短的时间内(例如,2~4小时)使用,会更加划算。

步骤三:根据实际CU用量,调整固定CU配额

检索增强型应用(8.17版)使用一段时间后,您可查看CU使用情况,根据实际读CU、写CU的使用详情,按需调整所需的固定CU配额

  • 场景一:弹性计算功能开启后,当读CU或写CU的用量,大于固定CU配额的1.5倍时,表明当前系统负载已高于原本配置可承载的范围,为避免出现性能问题,请及时调高固定CU配额。

    说明

    若应用的请求超出总CU上限,系统将拒绝超出部分的请求,产生429报错。建议您结合读写CU的实际用量设置监控告警服务

    • 示例一:若读CU最高使用到12 CU/s,则固定CU配额至少为12 / 1.5 = 8 CU/s,才可保证当前应用能够承接您的访问流量。

    • 示例二:若固定CU配额为2 CU/s,某段时间内,读CU的实际用量最高为6 CU/s(大于固定CU1.5倍),为保障查询操作可正常执行,请调大固定CU配额至少为6 / 1.5 = 4 CU/s

  • 场景二:海量数据场景,可适当调高固定CU配额。

    默认固定CU配额每增加1CU/s,支持的数据存储量将提升40GB。当数据量较大时,可通过调高固定CU配额,获取更高的存储配额。您也可按需调整每CU对应存储量的最大比例

选配示例

假设某自建搜索业务使用检索增强型应用(8.17版),且总共有20cores的计算资源用于支持索引构建、查询处理等操作,各时间段的CPU使用率及实际所需CU如下。

时间段

时长(小时)

CPU使用率(%)

实际所需CU(峰值)

高峰期

7

50%

20cores × 50% = 10CU

次高峰期

8

30%

20cores × 30% = 6CU

低峰期

9

<20%

20cores × 20% = 4CU

我们可根据如下步骤,评估所需CU的最优配置:

  1. 计算最低固定CU配额。

    • CU最低规格:即高峰期所需的计算资源20cores * 50% = 10CU。

    • 固定CU最低配额:10 / 3 ≈ 3.3,向上取整为4CU。

      说明

      为了应对突发流量,检索增强型应用(8.17版)设有弹性CU。弹性CU最高为固定CU2倍,总CU最高为固定CU3倍。

  2. 根据次高峰规划弹性资源。

    高峰期所需CU:20cores * 50% = 10CU;次高峰所需CU:20cores × 30% = 6CU。

    • 若固定CU4,则在高峰期需使用弹性资源10 - 4 = 6CU,在次高峰需使用弹性资源6 - 4 = 2CU

    • 若固定CU6,则在高峰期需使用弹性资源10 - 6 = 4CU,在次高峰无需使用弹性资源。

    • 若固定CU8,则在高峰期需使用弹性资源10 - 8 = 2CU,在次高峰无需使用弹性资源。

  3. 费用对比。

    固定CU大于2时,固定CU的单价为0.2600元/CU/小时,弹性CU的单价为0.4450元/CU/小时。不同固定CU配额,需消耗的费用如下。

    • 方案一:固定CU配额为4CU

      时间段

      固定CU费用(元)

      弹性CU费用(元)

      总费用(元)

      高峰期

      4 * 0.2600 * 7 = 7.28

      6 * 0.4450 * 7 = 18.69

      7.28 + 18.69 = 25.97

      次高峰期

      4 * 0.2600 * 8 = 8.32

      2 * 0.4450 * 8 = 7.12

      8.32 + 7.12 = 15.44

      其余时间

      4 * 0.2600 * 9 = 9.36

      不涉及弹性资源费用

      9.36

      当天总费用:25.97 + 15.44 + 9.36 = 50.77

    • 方案二:固定CU配额为6CU

      时间段

      固定CU费用(元)

      弹性CU费用(元)

      总费用(元)

      高峰期

      6 * 0.2600 * 7 = 10.92

      4 * 0.4450 * 7 = 12.46

      10.92 + 12.46 = 23.38

      次高峰期

      6 * 0.2600 * 8 = 12.48

      不涉及弹性资源费用

      12.48

      其余时间

      6 * 0.2600 * 9 = 14.04

      不涉及弹性资源费用

      14.04

      当天总费用:23.38 + 12.48 + 14.04 = 49.9

    • 方案三:固定CU配额为8CU

      时间段

      固定CU费用(元)

      弹性CU费用(元)

      总费用(元)

      高峰期

      8 * 0.2600 * 7 = 14.56

      2 * 0.4450 * 7 = 6.23

      14.56 + 6.23 = 20.79

      次高峰期

      8 * 0.2600 * 8 = 16.64

      不涉及弹性资源费用

      16.64

      其余时间

      8 * 0.2600 * 9 = 18.72

      不涉及弹性资源费用

      18.72

      当天总费用:20.79 + 16.64 + 18.72 = 56.15

结论输出:

固定CU配额

弹性资源使用时间

总成本(天)

结论

4CU

15小时

50.77

建议固定CU配额选择6CU,成本最低。

6CU

7小时

49.9

8CU

7小时

56.15

进入应用详情页

  1. 进入应用管理,切换至目标地域。

  2. 单击已创建的应用名称,进入应用详情页。

    在应用详情页,您可查看当前应用的CU使用量,并按需修改CU配额

查看CU使用量

可参考如下步骤,查看目标应用在指定时间段内的CU消耗情况。

  1. 进入应用详情页

  2. 在左侧导航栏单击应用管理 > 监控中心,进入监控中心页面。

    在该页面,您可按需查看读CU(即查询计算资源)、写CU(即写入计算资源)以及CU总量(即查询计算资源 + 写入计算资源)的消耗详情。更多监控指标的查看,请参见查看监控中心image

    • 序号1:可查看当天应用内的所有索引,累计总共消耗的查询计算资源、写入计算资源,以及日环比的增长或减少比例(即当天数据相较于前一天数据的增减情况)。

    • 序号2:可查看指定时间段内,CU相关指标的用量详情,具体如下。

      说明
      • 默认查询精度为1分钟,即上图中每两个指标点之间的时间间隔为1分钟。

      • 选择的时间段不同,两点之间表示的时间间隔存在差异,具体请以实际界面为准。

      指标名称

      描述

      图示

      查询计算资源

      每个指标点表示在当前时间间隔内,平均每秒消耗的读CU量。

      image

      写入计算资源

      每个指标点表示在当前时间间隔内,平均每秒消耗的写CU量。

      image

      存储所需最低计算资源

      用于确保数据存储、访问和维护所需的最低CU量。

      说明
      • 为保障使用效率,系统会基于当前存储用量,动态调整存储所需的CU量。默认每CU能够支持的数据存储量最大为40GB,您也可通过max_storage_per_cu配置项,调整每CU对应的最大存储量

      • 存储所需最低计算资源的值不能超过固定CU配额

      image

      CU用量

      某时刻读CU、写CU的消耗总量。

      说明

      蓝色线条表示固定CU量,绿色线条表示实际消耗的CU总量。

      • 无论是否开启弹性计算功能,当CU总量未超过固定CU量时,按照固定CU的计费标准收费。

      • 若开启弹性计算功能,当CU总量超过固定CU量时,未超出部分按照固定CU的计费标准收费,超出部分按照弹性CU的计费标准收费。

      计费详情请参见费用说明

      image

修改CU配额

若当前的CU配置不符合您的业务需要,可按需调整相关配额。

修改固定CU配额

进入应用详情页,在计费配额区域单击修改,可按需调整固定CU配额。

修改单CU存储上限

可通过修改max_storage_per_cu配额项,调整每CU最大可支持的存储量。更多修改配额的介绍,请参见调整配额

  1. 进入应用详情页

  2. 在左侧导航栏单击应用管理 > 服务配额,进入服务配额页面。

    配额总览页签,搜索max_storage_per_cu,单击修改配额,即可按需调整配额。配额调整后,需单击提交修改,按照界面指引提交修改申请。

    说明

    当前仅支持通过提交申请修改配额,请根据实际业务需求申请资源。申请提交后,可在服务配额 > 申请历史页签查看申请详情。

    image