云搜索服务 CSS-增强OpenSearch集群数据导入性能:特性介绍

时间:2024-10-08 18:50:00

特性介绍

数据导入性能增强为 云搜索服务 自主研发的特性,通过优化Bulk路由、文本索引加速、分词加速等方式,有效提升导入性能以及降低写入拒绝的情况。适用于索引分片较多、文本索引量大、导入吞吐量高的场景。

表1 数据导入性能优化方式

优化方式

功能描述

相关文档

Bulk路由优化

根据Elasticsearch默认的路由规则,Bulk请求中的每一条数据会被路由到不同的shard,当索引分片较多时,会产生大量的内部转发请求,在大规模写入场景下容易触发写拒绝。同时,在大规模集群中,长尾效应会导致Bulk请求时延较高。

通过指定配置项“index.bulk_routing”可以开启集群的Bulk路由优化,该优化可以减少内部转发的请求数量,在shard数较多的场景下,能够有效提升写入性能以及减少写入拒绝。
说明:

开启Bulk路由优化后(即“index.bulk_routing”设置为“pack”“ocal_pack”),数据写入不再根据“_id”进行路由,与路由的相关功能使用会受限,例如根据“_id”进行文档GET请求可能失败。

Bulk路由优化

Bulk聚合优化

通过指定配置项“index.aggr_perf_batch_size”可以开启集群的Bulk聚合优化。Bulk聚合优化是通过批量导入将Bulk请求中的doc从单个依次写入变为批量写入,该方案可以有效减少内存申请、锁申请、及其他调用开销,从而提升数据导入性能。

Bulk聚合优化

文本索引加速

通过指定配置项“index.native_speed_up”可以开启文本索引加速。索引加速功能通过优化索引流程以及内存使用等方式实现,对于文本字段(text、keyword)能够极大提升索引构建的性能。当开启文本索引加速时,支持通过指定配置项“index.native_analyzer”同时开启分词加速。对于需要分词的文本字段(text),当无特殊分词需求时可以开启分词加速提升分词性能。
说明:
  • 仅当开启文本索引加速(即“index.native_speed_up”设置为“true”)时,才支持开启分词加速(即“index.native_analyzer”设置为“true”),否则分词加速不生效。
  • 包含“nested”字段的索引不支持开启文本索引加速。

文本索引加速

索引merge任务优化

开启以上三种数据导入性能优化后,集群的索引merge任务会增加,通过指定配置项“index.merge.scheduler.max_thread_count”可以降低索引merge任务开销对导入性能的影响。索引merge任务优化可以增加shard的合并线程数,减少合并对数据导入的限流。

索引merge任务优化

support.huaweicloud.com/usermanual-css/css_01_0090.html