随着互联网业务的迅猛发展,日志数据量持续激增,传统日志处理方法面临成本高和扩展性差等困境。为了应对这一挑战,越来越多的企业开始转向更为先进的解决方案——阿里云Elasticsearch Serverless。本文我们将探讨在日志处理场景中,使用阿里云Elasticsearch Serverless相比自建ECS Elasticsearch集群的成本和性能优势,并展示如何通过Serverless架构实现超过70%的成本节约。
特性对比
传统方案:基于ECS自建Elasticsearch集群
资源利用率低:在非高峰时段,可能会出现资源浪费。而在高峰期,可能出现资源不足的问题。
维护成本高:除了硬件成本外,还需投入大量人力资源进行集群的日常运维,包括集群监控、数据备份、安全防护及版本升级等。
扩展性不足:在面对突发流量或数据量激增时,通常需要手动调整集群规模,这不仅耗时,还存在一定的风险。
阿里云Elasticsearch Serverless方案
按需付费:仅需为实际使用的资源支付费用,无需预先购买大量固定资源,从而有效降低了初期投入成本。
自动扩缩容:根据业务需求自动调整计算与存储资源,以确保服务的稳定性,同时有效避免资源的浪费。
免运维:阿里云负责底层基础设施的管理与维护,同时能够提供监控、备份实例服务。帮助您专注于业务逻辑的开发,无需担心复杂的运维事务。
场景模拟
本文将通过真实的日志业务数据,进行一天的日志写入场景模拟:
集团内某应用在特定日期的业务曲线和压力曲线如下所示:(每日12:00~13:00及22:00~23:00为高峰时段),写入用量为:1.2K~5.4K 数据级QPS的单次 Bulk 3MB写入,不涉及查询操作。
根据上述业务体量,若采用基于ECS的自建方案,按照CPU水位上限取70%以上条件下,采取选型规格 ECS:24 C与48 G的规格和数据盘:2048 GiB与ESSD PL1(50000 IOPS) 云盘的方案,在此前提下,集群单小时价格 ECS为¥4.68、数据盘为¥4.3008(系统盘、LB等在此不做计入), 因此,6节点ES自建集群单日价格:24*6*(4.68+4.3008)=1293.2352元。
若需对应其他规格,请自行计算费用比较。
ESSD PL0承接以上写入吞吐有瓶颈,会导致自建集群在高压下写入队列堆积请求拒绝。吞吐上限见:块存储性能。
以下为PL1云盘的吞吐量监控:
当日自建ES所在某ECS负载如下:
现将同样的业务数据接入到Elasticsearch Serverless应用中,请求监控数据如下:
Serverless应用在2025年02月09日0时前后写入计算资源增加是因为开启了数据整理功能(定期通过无损的Force Merge对索引进行整理,提升查询性能和优化存储空间,会带来额外的写入CU消耗)。
单日价格结算为312.5778元,单日价格详细数据见本文下方表格。
产品优势
性能更加稳定
阿里云Serverless性能相比自建更加稳定
相同QPS、吞吐下,自建ES的请求响应即使在低压时也存在上下波动、不稳定的情况。
22:30写入压力到高峰时,自建ES RT上涨明显,而Serverless ES几乎不受影响。
高压下自建集群出现请求失败情况,原因为写入线程池队列满集群拒绝新请求。
下图为客户端写入请求指标图:
按照需求规划
Serverless应用能够根据实际业务需求进行资源规划,以匹配使用曲线。
日志分析型集群的主要特征体现在索引主分片数量的变化上:
由上图可知:
从point 1可看出,在水位下降后,主分片数将保持一段时间的高水平。这是因为主分片数不会影响资源消耗,以便应对突发流量。经过一段时间后,主分片数将降至该时间段内可降至的最低值。
从point 2可看出,当水位高于当前已有的主分片数量时,如果处于可控范围内,将在一定时间后升高至该时间段判断所需的值。
从point 3可看出,若水位超出可控范围,将会加快分片数升高的速度。
名词 | 含义 |
名词 | 含义 |
预期主分片数 | 系统对当前写入水位做出的主分片建议数。 |
当前主分片数 | 当前正在写入的索引主分片数。 |
节省存储成本
存储数据的压缩率相比于自建方案显著提升,从而进一步节省了超过80%的存储成本。
如上图所示,每日数据量总额达百亿级。可见,该数据集在Serverless日志分析型集群总存储空间占比约为自建ES集群的六分之一。
成本显著降低
成本相比自建显著降低超过70%。
根据Serverless日志分析型应用的收费标准,场景模拟每小时收费CU统计如下:
该场景测试未发起查询压力,Serverless应用将默认按照5 CU查询进行最低查询资源计费,其中,Serverless ES日志分析型集群的规格为:自适应。自建 ES 集群的规格为: 6*24 C 、48 G,收费标准为按需付费,详情请参见在售的实例规格族。以下价格计算中,读CU消耗为1.2087元/CU/时,例如:18:00-19:00计算小时价格为:1.2087*5=6.0435,写CU消耗为0.4544元/CU/时,存储消耗为0.00021元/GB/时,总小时价为单价*消耗数据之和,即读CU消耗+写CU消耗+存储消耗。单ECS小时价:4.68元/时,2T PL1数据盘:4.3008 元/时。
时段 | Serverless ES日志分析型集群 | 自建 ES 集群 | |||
读CU消耗 | 写CU消耗 | 存储消耗 | Serverless ES日志分析型集群小时价 | 自建ES集群小时价 |
时段 | Serverless ES日志分析型集群 | 自建 ES 集群 | |||
读CU消耗 | 写CU消耗 | 存储消耗 | Serverless ES日志分析型集群小时价 | 自建ES集群小时价 | |
18:00-19:00 | ¥6.0435 | ¥7.2704 | ¥0.0067 | ¥13.3206 | ¥53.8848 |
19:00-20:00 | ¥6.0435 | ¥9.0880 | ¥0.0235 | ¥15.1550 | ¥53.8848 |
20:00-21:00 | ¥6.0435 | ¥10.2240 | ¥0.0428 | ¥16.3103 | ¥53.8848 |
21:00-22:00 | ¥6.0435 | ¥11.5872 | ¥0.0650 | ¥17.6957 | ¥53.8848 |
22:00-23:00 | ¥6.0435 | ¥12.7232 | ¥0.0900 | ¥18.8567 | ¥53.8848 |
23:00-24:00 | ¥6.0435 | ¥12.7232 | ¥0.1142 | ¥18.8809 | ¥53.8848 |
00:00-01:00 | ¥6.0435 | ¥8.6336 | ¥0.1327 | ¥14.8098 | ¥53.8848 |
01:00-02:00 | ¥6.0435 | ¥4.7712 | ¥0.1449 | ¥10.9596 | ¥53.8848 |
02:00-03:00 | ¥6.0435 | ¥3.4080 | ¥0.1535 | ¥9.6050 | ¥53.8848 |
03:00-04:00 | ¥6.0435 | ¥4.0896 | ¥0.1594 | ¥10.2925 | ¥53.8848 |
04:00-05:00 | ¥6.0435 | ¥2.7264 | ¥0.1649 | ¥8.9348 | ¥53.8848 |
05:00-06:00 | ¥6.0435 | ¥2.7264 | ¥0.1701 | ¥8.9400 | ¥53.8848 |
06:00-07:00 | ¥6.0435 | ¥3.1808 | ¥0.1758 | ¥9.4001 | ¥53.8848 |
07:00-08:00 | ¥6.0435 | ¥4.0896 | ¥0.1829 | ¥10.3160 | ¥53.8848 |
08:00-09:00 | ¥6.0435 | ¥5.4528 | ¥0.1924 | ¥11.6887 | ¥53.8848 |
09:00-10:00 | ¥6.0435 | ¥6.3616 | ¥0.2043 | ¥12.6094 | ¥53.8848 |
10:00-11:00 | ¥6.0435 | ¥6.8160 | ¥0.2175 | ¥13.0770 | ¥53.8848 |
11:00-12:00 | ¥6.0435 | ¥6.8160 | ¥0.2312 | ¥13.0907 | ¥53.8848 |
12:00-13:00 | ¥6.0435 | ¥10.2240 | ¥0.2483 | ¥16.5158 | ¥53.8848 |
13:00-14:00 | ¥6.0435 | ¥7.4976 | ¥0.2671 | ¥13.8082 | ¥53.8848 |
14:00-15:00 | ¥6.0435 | ¥5.6800 | ¥0.2800 | ¥12.0035 | ¥53.8848 |
15:00-16:00 | ¥6.0435 | ¥5.4528 | ¥0.2915 | ¥11.7878 | ¥53.8848 |
16:00-17:00 | ¥6.0435 | ¥5.6800 | ¥0.3031 | ¥12.0266 | ¥53.8848 |
17:00-18:00 | ¥6.0435 | ¥6.1344 | ¥0.3152 | ¥12.4931 | ¥53.8848 |
总计(元) | --- | --- | --- | ¥312.5778 | ¥1293.2352 |
通过对比可见,Serverless方案在成本上具有显著优势,1293.2352-312.5778=980.66元 ,一天可以节省980.66元,成本相比自建显著降低。
等比大流量估算
上述内容为单日写入统计。在日常应用场景中,需要考虑长期数据存储,例如3天的热数据和14天的冷数据存储等。基于这一特点,Serverless的成本依然有较大的压缩空间。
如何开通Elasticsearch Serverless服务
Step 1:开通服务
第一次使用ES Serverless服务时,需要进行服务开通。
在ES Serverless服务页面,单击立即开通。
进入服务开通页面,选中服务协议,单击立即开通。
Step 2:创建应用
进入创建Serverless应用的页面,选择创建实例的区域。
单击应用管理。
进入应用管理页面,单击创建应用,配置应用的基本信息。
(示例)本示例选择应用选型为检索通用型,其他参数保持默认或自定义。
配置应用的访问设置。
(示例)本示例选择网络访问方式为公网访问,在公网访问白名单中添加本地设备的IP地址,以便使用本地设备访问Serverless应用的Kibana。
配置应用公网访问或私网访问,请参见配置Serverless应用公网或私网访问。
输入用户密码,登录Kibana时需要。
单击立即创建。
您可以在应用管理页面查看已创建的应用列表。请等待应用状态变为运行中,这表示应用已成功创建。随后,您可以根据个人需求,尝试体验更多功能。
- 本页导读
- 特性对比
- 场景模拟
- 产品优势
- 性能更加稳定
- 按照需求规划
- 节省存储成本
- 成本显著降低
- 等比大流量估算
- 如何开通Elasticsearch Serverless服务
- Step 1:开通服务
- Step 2:创建应用