Observability:在 Elastic Stack 8.12 中使用 Elastic Agent 性能预设
作者:来自 Elastic Nima Rezainia, Bill Easton

8.12 中 Elastic Agent 性能有了重大改进
最新版本 8.12 标志着 Elastic Agent 和 Beats 调整方面的重大转变。 在此更新中,Elastic® 引入了 Performance Presets,旨在简化用户的调整过程并增强默认设置以提高性能。
默认设置增强功能
如今,Elastic Agent 使用的默认调整参数自 Beats 诞生以来就已经存在,并且经过精心挑选,以确保数据尽快进入 Elasticsearch® 进行分析。 从历史上看,调整 Elastic Agent 和 Beats 的性能需要深厚的知识,而对它们进行基准测试以获得最佳组合则需要更多的专业知识。
借助 8.12,我们让绝大多数客户不再需要调整 Elastic Agent 和 Beats。 我们为 Elastic Agent 和 Beats 引入了新的默认设置,可将吞吐量提高高达 50%,将内存使用量减少 10%,将 Elasticsearch 的并发连接减少高达 80%,并减少 Beats/Elasticsearch 中的磁盘 I/O 代理请求最多增加 50%。
性能预设简介
如果新的默认设置不能满足你的需求,或者你可能需要更多吞吐量或想要扩展到更大的代理(agents)部署,下一步不是调整 YAML 文件中的参数; 相反,新的性能预设采用了我们值得信赖的客户、现场团队和性能测试台的最佳实践,让你可以选择最适合您需求的预设,从而有效地提供量身定制的配置来满足你不同的性能要求。 让我们探索四种预设和新的自定义选项,并了解哪一种最适合你的需求:
1. 平衡 - balanced
从 8.12 开始,Balanced 预设是默认预设,它优化 Elastic Agent 以实现合理的吞吐量和资源利用率水平,使其成为各种 Elastic Agent 使用案例的首选。
对于那些熟悉 Beats 中可用的各种设置的人来说,以下是 8.12 中默认值发生的具体更改。 这些新的默认设置将每秒事件吞吐量 (EPS) 提高了 25%。
请注意:这些设置可能会在未来版本中发生变化,因为我们会继续调整这些设置以获得最佳性能。
| Configuration | Current Default | Balanced |
| bulk_max_size | 50 | 1600 |
| workers | 1 | 1 |
| queue.mem.events | 4096 | 3200 |
| flush.min_events | 2048 | 1600 |
| flush.timeout | 1 | 10 |
| compression | 1 | 1 |
| idle_timeout | 6 | 3 |
2. 吞吐量优化 - Optimized for Throughput
Optimized for Throughput 预设侧重于实现 4 倍以上的数据摄取率,使其成为需要代理处理大量事件的场景的理想选择。 它采用了 Balanced 预设的最佳部分,但更自由地消耗 CPU 和内存,并在与 Elasticsearch 的多个附加连接之间复用事件。
3. 规模优化 - Optimized for Scale
如果你要将 Elastic Agent 部署到数万个系统,则 Optimized for Scale 预设可对 Elastic Agent 进行微调,以便从数万或数十万个设备收集较少量的主机数据(例如日志或指标)。 它采用了 Balanced 预设的最佳部分,但以数据摄取的短暂延迟为代价,与默认值相比,Elasticsearch 的开放连接总数减少了 30 倍。 如果你在 Elasticsearch 之前使用反向代理或负载均衡器,这会产生很大的差异。 此设置的 EPS 性能与平衡设置非常相似。
4. 延迟优化 - Optimized for Latency
Optimized for Latency 预设可缩短数据摄取和处理之间的时间,使其适合低吞吐量但需要低延迟的实时分析和应用程序。 此预设与 8.12 之前的 Elastic Agent 默认设置密切相关,是测试新预设时遇到的任何问题的完美后备方案。
在你的 Elastic 环境中,请务必注意,这些预设仅影响版本 8.12+ 上的代理。 旧版本的 Agent 将继续使用其现有设置。
5. 定制 - custom
虽然预设旨在简化 Elastic Agent 的调整过程,但 Custom 选项允许用户对性能进行更精细的控制。 你仍然可以参考 Elastic 提供的旧指南,该指南在 Agent 上仍然相关,因为 queue.mem.events 现在也是可配置的。此处提供的旧指南提供了有关调整 Elastic Beats 性能的实际示例和见解,包括批量大小、工作人员数量等。
为了提供进一步的指导,我们的公共文档中的表格显示了对 EPS 吞吐量性能的影响,作为平衡预设性能的函数,对于这些调整参数的各种排列,适合需要更精细控制的用户。 选择自定义预设时可以设置这些参数。
如何配置
将通过将 preset 键添加到 agent policy 中的 Elasticsearch output 来选择 preset。 最初,预设键的有效值为:balanced, throughput, scale, latency 及 custom。一个示例配置是:
outputs:default:type: elasticsearchhosts: [127.0.0.1:9200]api_key: "example-key"# Must be one of "balanced", "throughput", "scale", "latency", "custom" # Unknown preset values move the output to the failed state with an appropriate error.preset: "throughput"bulk_max_size: 1024worker: 8
更多阅读请参考 https://github.com/elastic/elastic-agent/issues/3797
总之,Elastic 的新性能预设提供了一种便捷的方法来根据不同的性能需求微调 Elastic Agent。 无论你需要平衡的性能、高吞吐量、可扩展性还是低延迟,这些预设都能提供优化的配置来满足你的需求。 祝微调愉快!
Elastic 8.12 中还有哪些新功能? 查看 8.12 公告帖子了解更多>>
原文:Using Elastic Agent Performance Presets in 8.12 | Elastic Blog
相关文章:
Observability:在 Elastic Stack 8.12 中使用 Elastic Agent 性能预设
作者:来自 Elastic Nima Rezainia, Bill Easton 8.12 中 Elastic Agent 性能有了重大改进 最新版本 8.12 标志着 Elastic Agent 和 Beats 调整方面的重大转变。 在此更新中,Elastic 引入了 Performance Presets,旨在简化用户的调整过程并增强…...
空间数据分析和空间统计工具库PySAL入门
空间数据分析是指利用地理信息系统(GIS)技术和空间统计学等方法,对空间数据进行处理、分析和可视化,以揭示数据之间的空间关系和趋势性,为决策者提供有效的空间决策支持。空间数据分析已经被广泛运用在城市规划、交通管理、环境保护、农业种植…...
LabVIEW电液伺服控制系统
介绍了如何利用ARM微处理器和LabVIEW软件开发一个高效、精准的电液伺服控制系统。通过结合这两种技术,我们能够提高系统的数字化程度、集成化水平,以及控制精度,从而应对传统电液伺服控制器面临的问题。 该电液伺服控制系统由多个关键部分组…...
Dubbo_入门
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 Dubbo_入门 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是分布式系统二、什么…...
Ubuntu22.04更换软件源
本文以Ubuntu22.04更换科大源为例演示更改软件源的方法,其他版本的Ubuntu系统或更换其他软件源,如清华源,阿里源等,方法类似。 前言 中国科学技术大学开源软件镜像由中国科学技术大学网络信息中心提供支持。 mirrors.ustc.edu.…...
解密Android某信聊天记录
前置条件 frida, frida-tools, adb 获取密码 h.js console.log(script loaded successfully);function xx() {function strf(str, replacements) {return str.replace(/\$\{\w\}/g, function(placeholderWithDelimiters) {var placeholderWithoutDelimiters placeholderWi…...
海外云手机对于亚马逊卖家的作用
近年来,海外云手机作为一种新型模式迅速崭露头角,成为专业的出海SaaS平台软件。海外云手机在云端运行和存储数据,通过网页端操作,将手机芯片放置在机房,通过网络连接到服务器,为用户提供便捷的上网功能。因…...
交换机的发展历史
交换机发展历史是什么,详细介绍每代交换机的性能特点,特色功能 交换机的发展历史可以大致分为以下几个阶段,每个阶段的设备性能特点和特色功能有所差异: 1. 第一代以太网交换机(1980年代末至1990年代初) …...
用katalon解决接口/自动化测试拦路虎--参数化
不管是做接口测试还是做自动化测试,参数化肯定是一个绕不过去的坎。 因为我们要考虑到多个接口都使用相同参数的问题。所以,本文将讲述一下katalon是如何进行参数化的。 全局变量 右侧菜单栏中打开profile,点击default,打开之后…...
CSRF靶场练习
简述:CSRF漏洞实际很少;条件限制很多;局限性很大;实验仅供参考,熟悉csrf概念和攻击原理即可 Pikachu靶场 CSRF GET 登录用户vince的账户可以看到用户的相关信息; 点击修改个人信息,发现数据包…...
pgsql的查询语句有没有走索引
使用EXPLAIN ANALYZE命令: EXPLAIN ANALYZE [ ( option [, ...] ) ]statement示例: EXPLAIN ANALYZE SELECT * FROM employees WHERE age > 30;在执行计划中,如果看到索引扫描(Index Scan)或位图堆扫描࿰…...
jenkins部署(docker)
docker部署,避免安装tomcat 1.拉镜像 docker pull jenkins/jenkins2.宿主机创建文件夹 mkdir -p /lzp/jenkins_home chmod 777 /lzp/jenkins_home/3.启动容器 docker run -d -p 49001:8080 -p 49000:50000 --privilegedtrue -v /lzp/jenkins_home:/var/jenkins_…...
Python实现时间序列分析AR定阶自回归模型(ar_select_order算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中,AR定阶自回归模型(AR order selection)是指确定自回…...
Springboot自定义线程池实现多线程任务
1. 在启动类添加EnableAsync注解 2.自定义线程池 package com.bt.springboot.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTask…...
linux离线升级openssh方法
检查openssh版本: 升级前openssh 版本为7.4 openssl 版本为1.0.2k Openssh9.6 所需openssl >1.1.1 因此openssl也需要升级。 为了防止升级失败,无法使用SSH登录,首先安装telnet 预防。查看是否安装了telnet 客户端及服务 未安装tel…...
(五)MySQL的备份及恢复
1、MySQL日志管理 在数据库保存数据时,有时候不可避免会出现数据丢失或者被破坏,这样情况下,我们必须保证数据的安全性和完整性,就需要使用日志来查看或者恢复数据了 数据库中数据丢失或被破坏可能原因: 误删除数据…...
VitePress-04-文档中的表情符号的使用
说明 vitepress 的文档中是支持使用表情符号的,像 😂 等常用的表情都是支持的。 本文就来介绍它的使用方式。 使用语法 语法 : :表情名称: 例如 : :joy: 😂 使用案例代码 # 体会【表情】的基本使用 > hello world …...
Redis客户端之Redisson(二)Redisson组件
Redisson的几个常用客户端 一、RedissonClient 1、创建 通过Config对象配置RedissonClient所需要的参数,然后获取RedissonClient对象即可。 Config config new Config(); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); RedissonC…...
用Visual Studio Code创建JavaScript运行环境【2024版】
用Visual Studio Code创建JavaScript运行环境 JavaScript 的历史 JavaScript 最初被称为 LiveScript,由 Netscape(Netscape Communications Corporation,网景通信公司)公司的布兰登艾奇(Brendan Eich)在 …...
spring-web搭建
先说说这篇文章看完你能学习到什么吧 1:spring-web是什么原理以及组成,2:spring-web的搭建(以普通tomcat服务器做基础),3:敲黑板 1:spring-web是什么原理以及组成 spring-web是sp…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
