当前位置: 首页 > news >正文

大量索引场景下 Easysearch 和 Elasticsearch 的吞吐量差异

最近有客户在使用 Elasticsearch 搜索服务时发现集群有掉节点,并且有 master 收集节点信息超时的日志,节点的负载也很高,不只是 data 节点,master 和协调节点的 cpu 使用率都很高,看现象集群似乎遇到了性能瓶颈。
查看了 Hot_threads, 发现大量线程被权限验证相关的类和方法占用,主要在 RBACEngine 和 AuthorizationService 两个类。并且不止协调节点和数据节点,master 节点居然也有那么多权限验证的操作?

于是怀疑是不是对权限验证的使用方式不对,在 github 上搜了下,果然发现有人遇到和我们非常类似的场景。
Improve Authorization performance in clusters with a large number of indices #67987
提到有些个用户在达到数千或上万个索引的场景下,在启用安全验证进行写入数据时,服务端几乎会耗费掉所有 CPU 时间在 transport_worker 线程上进行权限验证,从而阻塞其他传入请求,
导致集群的吞吐量下降,下降的程度似乎是 2 倍到 3 倍。
有人建议升级到 7.16 或更高版本来解决这个问题。

为了确认下我们的产品是否有类似现象,我对两个服务进行了测试对比,由于硬件资源有限,只对单个节点进行了写入吞吐的压测。

测试条件:

  • -Xms3g -Xmx3g
  • 16 逻辑核 CPU
  • 启用 security 验证
  • 预先创建了 1000 个索引
  • 每个索引 1 个 shard,3 个别名

采用相同的 loadgen 脚本进行压测, 压测命令:./loadgen-linux-amd64 -config loadgen-index_0.yml -d 120 -c 10

即每秒 10 个并发请求,持续压测 120 秒,每个 bulk 请求包含写入 5000 个 doc,对单个索引进行压测。

Easysearch 1.0 写入了 6900000 条。

对比搜索服务 7.3.2 写入了 5865000 条。

压测完毕,显示 Easysearch 的吞吐大约高出了 17%。

测试时观察 Hot_threads,Easysearch 除了 lucene 的写入和 merge 线程,未发现权限验证相关热点线程,表明了启用安全验证不会对 Easysearch 的写入造成性能影响。

关于 Easysearch

about easysearch

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

官网文档:https://www.infinilabs.com/docs/latest/easysearch

下载地址:https://www.infinilabs.com/download

相关文章:

大量索引场景下 Easysearch 和 Elasticsearch 的吞吐量差异

最近有客户在使用 Elasticsearch 搜索服务时发现集群有掉节点,并且有 master 收集节点信息超时的日志,节点的负载也很高,不只是 data 节点,master 和协调节点的 cpu 使用率都很高,看现象集群似乎遇到了性能瓶颈。 查看…...

东明石化集团领导团队参访震坤行工业超市

东明石化集团领导团队参访震坤行工业超市 10月16日,山东东明石化集团(以下简称东明石化)总裁李治先生一行带队来访参观交流震坤行,与震坤行工业超市董事长兼CEO陈龙、销售负责团队开展座谈。期间,双方就企业数字化转型…...

Java常见的面试题(很基础那种)

这里介绍一下,一些比较基础的Java面试题,比较适合应届生、实习生这些朋友。因为对于刚出来工作的Java工程师,很多企业都偏向招一些基础比较好的苗子回来培养。所以啊,在校的朋友们,一定要在读书期间,多做项目,如果没有实际的项目,可以在github找一些案例来做参考,先模…...

MySQL处理并发访问和高负载的关键技术和策略

我深知在数据库管理中处理并发访问和高负载的重要性。在这篇文章中,我将探讨MySQL处理并发访问和高负载的关键技术和策略,以帮助读者更好地优化数据库性能。 图片来源:MySQL处理并发访问和高负载的关键技术和策略 MySQL数据库在处理并发访问…...

软件测试jmeter基本使用

1安装与配置 1.jdk下载 下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows(压缩包中会给) 2.jmeter下载 Apache JMeter - Download Apache JMeter(压缩包中有) 3.操作教学 打开软件后新…...

一文讲透Python函数中的局部变量和全局变量

变量的作用域就是变量能够发挥作用的区域,超出既定区域后就无法发挥作用。根据变量的作用域可以将变量分为局部变量和全局变量。 1.局部变量 局部变量是在函数内部定义并使用的变量,也就是说只有在函数内部,在函数运行时才会有效&#xff0…...

【LeetCode】每日一题 2023_11_23 HTML 实体解析器(调库/打工)

文章目录 刷题前唠嗑题目:HTML 实体解析器题目描述代码与解题思路 结语 刷题前唠嗑 题目:HTML 实体解析器 题目链接:1410. HTML 实体解析器 题目描述 代码与解题思路 func entityParser(s string) (ans string) {return strings.NewRepla…...

Flask SocketIO 实现动态绘图

Flask-SocketIO 是基于 Flask 的一个扩展,用于简化在 Flask 应用中集成 WebSocket 功能。WebSocket 是一种在客户端和服务器之间实现实时双向通信的协议,常用于实现实时性要求较高的应用,如聊天应用、实时通知等,使得开发者可以更…...

软著项目推荐 深度学习 植物识别算法系统

文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核,池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…...

自动驾驶HWP 功能规范

目 录 概述 1 目的 1范围 1术语及缩写 1设计与实验标准 1 设计标准 2设计标准执行优先顺序 2功能规范 Specification 4 功能描述 Functional Description 4 工作条件与应用范围 Application Scope 4道路交通 4天气与光线 4传感器方案及需求 5 驾驶员状态监控系统 5前视摄像…...

Ubuntu 环境下 NFS 服务安装及配置使用

需求:公司内部有多台物理服务器,需要A服务器上的文件让B服务器访问,也就是两台服务器共享文件,当然也可以对A服务器上的文件做权限管理,让B服务器只读或者可读可写 1、NFS 介绍 NFS 是 Network FileSystem 的缩写&…...

vue.js如何根据后台返回来的图片url进行图片下载

原创/朱季谦 最近在做一个前端vue.js对接的功能模块时,需要实现一个下载图片的功能,后台返回来的是一串图片url,试了很多种方法,发现点击下载时出来的效果,都是跳到一个新的图片网页,后来经过一番琢磨&…...

获取WordPress分类链接

CMS模板主题首页多以分类列表的形式展示内容&#xff0c;一般需要在适当位置添加某分类归档页面链接的按钮&#xff0c;下面的代码可以帮你实现。 代码一、通过分类别名获取Wordpress分类链接&#xff1a; <?php $catget_category_by_slug(‘wordpress’); $cat_linksget_…...

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 5》(9)

《Linux操作系统原理分析之Linux 进程管理 5》&#xff08;9&#xff09; 4 Linux 进程管理4.5 Linux 信号4.5.1 信号的作用和种类1.信号机制2.信号种类 4.5.2 信号的处理4.5.3 信号处理函数1&#xff0e;数据结构2&#xff0e; 处理函数 signal3&#xff0e;程序例 4 Linux 进…...

Anthropic推出Claude 2.1聊天机器人;使用AI工具写作:挑战与策略

&#x1f989; AI新闻 &#x1f680; Anthropic推出Claude 2.1聊天机器人&#xff0c;支持20万个Token输入和提高准确度 摘要&#xff1a;Anthropic推出了Claude 2.1聊天机器人及对应的AI模型&#xff0c;支持输入多达20万个Token&#xff0c;并在准确度上有所改善。Claude已…...

2023-11-30 LeetCode每日一题(确定两个字符串是否接近)

2023-11-30每日一题 一、题目编号 1657. 确定两个字符串是否接近二、题目链接 点击跳转到题目位置 三、题目描述 如果可以使用以下操作从一个字符串得到另一个字符串&#xff0c;则认为两个字符串 接近 &#xff1a; 操作 1&#xff1a;交换任意两个 现有 字符。 例如&…...

进程间通信基础知识【Linux】——上篇

目录 一&#xff0c;理解进程之间的通信 1. 进程间通信目的 2. 进程间通信的技术背景 3&#xff0c;常见的进程间通信 二&#xff0c;管道 1. 尝试建立一个管道 管道的特点&#xff1a; 管道提供的访问控制&#xff1a; 2. 扩展&#xff1a;进程池 阶段一&#xff1a…...

OpenSSH(CVE-2023-38408)OpenSsh9.5一键升级修复

yum install -y git cd /root git clone https://gitee.com/qqmiller/openssh-9.5p1-.x86_64.git cd openssh-9.5p1-.x86_64/ bash openssh_update.sh重启sshd&#xff1a; systemctl restart sshd 查看sshd状态&#xff1a; systemctl status sshd 重要的是按此操作升级完成…...

10.30 作业 C++

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream>using namespace std;clas…...

Python开发运维:PyMongo 连接操作 MongoDB

目录 一、理论 1.PyMongo模块 2.Mongo Shell 二、实验 1. Windows11安装MongoDB 7.0.4 2.Windows11安装MongoDB Shell 2.1.0 3.PyMongo 连接 MongoDB&#xff08;无密码方式&#xff09; 4.PyMongo 连接 MongoDB&#xff08;有密码方式&#xff09; 5.PyMongo 操作 Mo…...

设备独立滚动控制:让macOS输入设备各得其所的开源解决方案

设备独立滚动控制&#xff1a;让macOS输入设备各得其所的开源解决方案 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 问题溯源&#xff1a;当滚动方向成为效率隐形杀手 在数字…...

暗黑破坏神2存档编辑器终极指南:3步掌握可视化修改技巧

暗黑破坏神2存档编辑器终极指南&#xff1a;3步掌握可视化修改技巧 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2存档修改而烦恼吗&#xff1f;传统的十六进制编辑不仅操作复杂&#xff0c;还容易导致存档损…...

忍者像素绘卷入门必看:Z-Image-Turbo与Stable Diffusion 16-Bit插件对比

忍者像素绘卷入门必看&#xff1a;Z-Image-Turbo与Stable Diffusion 16-Bit插件对比 1. 像素艺术创作新选择 在数字艺术创作领域&#xff0c;像素风格始终占据着独特地位。对于想要创作16-Bit复古游戏风格作品的艺术家来说&#xff0c;选择合适的工具至关重要。本文将对比分析…...

读懂 ABAP 调试器里的 ()XVBRP[]:这不是新语法,而是旧式内表加调试器命名表示法的组合

有朋友问我下面这个截图里的变量名是什么语法? 你这张截图里的 ()XVBRP[],结论上并不是一种新的 ABAP 变量声明语法。把它拆开看,更容易理解: XVBRP[] 这一段,核心含义是:XVBRP 是一个带 header line 的旧式内表,而 [] 明确表示你看到的是内表体 table body,不是同名的…...

开源键盘定制工具:无需编程打造专属机械键盘体验

开源键盘定制工具&#xff1a;无需编程打造专属机械键盘体验 【免费下载链接】keyboards 项目地址: https://gitcode.com/gh_mirrors/key/keyboards 在机械键盘的世界里&#xff0c;每一位用户都渴望拥有一把真正符合自己使用习惯的输入设备。开源键盘定制工具正是这样…...

破局Windows Defender:重构系统防护管理的黑科技方案

破局Windows Defender&#xff1a;重构系统防护管理的黑科技方案 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control 当…...

Umi-OCR:3个技巧让你的扫描PDF文件变身智能文档

Umi-OCR&#xff1a;3个技巧让你的扫描PDF文件变身智能文档 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片&#xff0c;PDF文档识别&#xff0c;排除水印/页眉页脚&#xff0c;扫描/生成二维码。内置多国语言库。 …...

清华大学重磅突破:让AI汽车真正听懂你说话,想去哪就去哪!

这项由清华大学计算机科学与技术系和GigaAI公司联合开展的研究于2026年3月26日发表在计算机视觉顶级会议论文中&#xff0c;论文编号为arXiv:2603.25741v1。有兴趣深入了解技术细节的读者可以通过该编号查询完整论文内容。汽车能像人类司机一样理解复杂的语言指令&#xff0c;并…...

RexUniNLU新手必看:从模型下载到API服务部署完整流程

RexUniNLU新手必看&#xff1a;从模型下载到API服务部署完整流程 1. 引言&#xff1a;为什么选择RexUniNLU&#xff1f; RexUniNLU是一款基于Siamese-UIE架构的轻量级自然语言理解框架&#xff0c;它最大的特点是支持零样本学习——这意味着你不需要准备任何标注数据&#xf…...

抖音无水印视频下载终极方案:DouYinBot完整使用指南

抖音无水印视频下载终极方案&#xff1a;DouYinBot完整使用指南 【免费下载链接】DouYinBot 抖音无水印下载 项目地址: https://gitcode.com/gh_mirrors/do/DouYinBot 还在为抖音视频上的水印烦恼吗&#xff1f;想要收藏喜欢的视频却总是被平台限制困扰&#xff1f;DouY…...