【企业级分布式系统】ELK优化
文章目录
- Elasticsearch作为日志存储时的优化
- 优化ES索引设置
- 优化线程池配置
- 锁定内存,不让JVM使用Swap
- 减少分片数、副本数
Elasticsearch作为日志存储时的优化
linux内核优化、JVM优化、ES配置优化、架构优化(filebeat/fluentd代替logstash、加入kafka做消息队列)
优化ES索引设置
(1)优化fsync
- 背景:Elasticsearch为保证数据不丢失,会在每次写请求完成后触发fsync将translog中的segment刷到磁盘。这提高了数据安全性,但可能影响性能。
- 优化建议:如果允许部分数据丢失以提高效率,可以设置异步刷新translog,并调整相关参数。
"index.translog.durability": "async":设置为异步刷新。"index.translog.flush_threshold_size":"1024mb":增大translog刷新阈值。"index.translog.sync_interval": "120s":延长translog同步间隔。
(2)优化refresh
- 背景:Elasticsearch通过refresh过程将内存中的数据转换成Lucene的完整segment,以便被搜索。默认1秒后数据可查询,但会产生大量segment,影响检索性能。
- 优化建议:对于日志搜索,可以适当增大refresh间隔。
"index.refresh_interval":"5s"或更长,根据实际需求设置。
(3)优化merge
- 背景:merge操作会合并segment,优化索引结构。但并发merge可能占用过多资源,影响集群性能。
- 优化建议:控制并发的merge线程数,根据存储类型和CPU核数调整。
"index.merge.scheduler.max_thread_count":"1":对于普通磁盘,设置为1以减少IO堵塞。
(4)实施优化
- 需要先关闭索引,修改设置后再打开。
- 使用curl命令进行索引的关闭、设置修改和打开操作。
优化线程池配置
- 背景:write线程池满负荷时可能导致数据写入拒绝。
- 优化建议:
- 将线程数改为CPU总核数加1。
- 增大队列容量以缓冲任务,但避免过大导致堆内存占用过多。
- 在
elasticsearch.yml文件中修改write线程池配置。
锁定内存,不让JVM使用Swap
- 背景:Swap交换分区对性能和节点稳定性不利,会导致垃圾回收时间延长和节点响应缓慢。
- 优化建议:
- 临时禁用Swap内存(重启后失效)。
- 永久减少Swap的使用(通过修改
/etc/sysctl.conf文件)。 - 在
elasticsearch.yml文件中启用bootstrap.memory_lock,锁定内存不让JVM写入Swap。
减少分片数、副本数
- 分片:
- 背景:分片过小可能导致开销增加,分片过大可能导致频繁Merge和大量IO操作。
- 优化建议:根据索引大小调整分片数,如15G以下的索引调整为3个分片。
- 副本数:
- 背景:过多副本会导致ES内部写扩大,影响写入性能。
- 优化建议:对于日志数据,设置1个副本即可。对于大数据量的索引,可以设置副本数为0以减少对性能的影响。
相关文章:
【企业级分布式系统】ELK优化
文章目录 Elasticsearch作为日志存储时的优化优化ES索引设置优化线程池配置锁定内存,不让JVM使用Swap减少分片数、副本数 Elasticsearch作为日志存储时的优化 linux内核优化、JVM优化、ES配置优化、架构优化(filebeat/fluentd代替logstash、加入kafka做…...
51单片机基础05 定时器
目录 一、为什么要定时器 二、定时器中断 1、定时器中断参数 2、定时器中断程序 3、定时器计数 一、为什么要定时器 前文提到,比如进行流水灯等操作,都是直接写了delay_ms这类操作。 但是在51单片机中,其一般就是靠双for进行的循环时延&…...
tdengine学习笔记实战-jdbc连接tdengine数据库
先上代码,里面有两种获取连接的方式,一个单例,一个连接池 package com.tdengine.utils;import com.alibaba.druid.pool.DruidDataSource;import java.sql.*; import java.util.Properties;public class TDConnectUtils {// 单例对象private …...
vue3项目执行npm install下载依赖报错问题排查方法
1、检查当前node与npm的版本 nodejs 和 npm 的版本是有适配的,具体可以看官网:nodejs 和 npm 的版本是有适配的 若是版本不兼容,修改node或者npm的版本即可,建议使用nvm版本管理工具,切换方便; 2、清除缓…...
【vue】项目迭代部署后 自动清除浏览器缓存
前言: vue项目打包部署上线后,因浏览器缓存问题,导致用户访问的依旧是上个迭代批次的旧资源,需要用户手动清除缓存才能更新至最新版本,影响用户体验。 解决方法: html根文件添加以下标签 <meta http-eq…...
Leetcode(滑动窗口习题思路总结,持续更新。。。)
讲解题目:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target ,找出该数组中满足其和 ≥ target 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例: 输入: target 7, nums [2,3,1,2,4,3] 输出: 2 解…...
【UNIAPP】uniapp版图片压缩工具
二次封装的uniapp版本图片压缩、上传工具,支持全端(H5、小程序、APP) 新建文件:file-util.js class FileUtil {/*** [文件上传]* param {[object]} fileObj [图片地址]* param {[object]} formData [参数]* param {[str…...
PaddlePaddle 开源产业级文档印章识别PaddleX-Pipeline “seal_recognition”模型 开箱即用篇(一)
AI时代到来,各行各业都在追求细分领域垂直类深度学习模型,今天给大家介绍一个PaddlePaddle旗下,基于PaddleX Pipeline 来完成印章识别的模型“seal_recognition”。 官方地址:https://github.com/PaddlePaddle/PaddleX/blob/relea…...
Vue3 + Vite 项目引入 Typescript
文章目录 一、TypeScript简介二、TypeScript 开发环境搭建三、编译方式1. 自动编译单个文件2. 自动编译整个项目 四、配置文件1. compilerOptions基本选项严格模式相关选项(启用 strict 后自动包含这些)模块与导入相关选项 2. include 和 excludeinclude…...
微信小程序实战篇-分类页面制作
一、项目背景与目标 在微信小程序开发中,分类页面是一个常见且重要的功能模块。它能够帮助用户快速定位和浏览不同类别的商品或信息,提升用户体验和操作效率。今天,我们将深入探讨如何制作一个实用的微信小程序分类页面,先来看一下…...
第三十七章 如何清理docker 日志
如何清理docker 日志 目标 掌握docker 日志设置掌握docker日志的清理办法背景 在现代软件开发和部署环境中,Docker 容器技术因其轻量级、可移植性和高效资源利用的特点,已成为许多企业和开发团队的首选。Docker 容器在运行过程中会产生大量的日志信息,这些日志对于监控容器…...
二刷代码随想录第七天
454. 四数相加 II 先用map记录前两个数的和num1 num2的值出现了多少次再在后两个数组里找0 - (num1 num2),找到后就累加map中的次数 class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3…...
1.tree of thought (使用LangChain解决4x4数独问题)
本教程将介绍如何使用LangChain库和chatglm API来解决一个4x4的数独问题。我们将通过以下步骤实现这一目标: 初始化chatglm 的聊天模型。定义数独问题和解决方案。创建一个自定义的检查器来验证每一步的思考。使用ToTChain来运行整个思考过程。 1. 初始化chatglm4…...
网络基础(4)IP协议
经过之前的学习对传输协议的学习,对于传输协议从系统底层到应用层对于socket套接字的学习已经有了一套完整的理论。 对于网络的层状结构,现在已经学习到了应用层和传输层: 在之前的学习中,通信的双方都只考虑了双方的传输层的东西࿰…...
124. 二叉树中的最大路径和【 力扣(LeetCode) 】
文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 124. 二叉树中的最大路径和 一、题目描述 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径…...
echarts:简单实现默认显示两柱子折线,点击按钮后显示新的柱子
问: 用echarts实现:默认显示两柱子折线,点击“税率”按钮,显示税率柱子,之前的两柱子折线消失 回答: <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8…...
视频里的音频怎么提取出来成单独文件?音频提取照着这些方法做
在数字时代,视频与音频的分离与重组已成为日常需求之一。无论是出于制作背景音乐、保存讲座内容,还是编辑播客素材,提取视频中的音频并将其保存为单独文件都显得尤为重要。视频里的音频怎么提取出来成单独文件?本文将详细介绍几种…...
Excel——宏教程(精简版)
一、宏的简介 1、什么是宏? Excel宏是一种自动化工具,它允许用户录制一系列操作并将其转换为VBA(Visual Basic for Applications)代码。这样,用户可以在需要时执行这些操作,以自动化Excel任务。 2、宏的优点 我们可以利用宏来…...
C++中的std::tuple和std::pair
在C标准库中,std::tuple和std::pair是两种极具实用性的数据结构,它们都具备存储多个元素的功能,但各自有其独特的适用环境和特性。本文旨在深入探讨这两者之间的区别,并阐述在不同应用场景下应如何合理选择使用。 一、基本概念 s…...
引力搜索算法
引力搜索算法过程,包括了初始化、适应度评估、质量计算、加速度计算、更新速度和位置的一些步骤。 import numpy as np import random as rd from math import exp, sqrt import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotli…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
