【企业级分布式系统】ELK优化

文章目录

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以减少对性能的影响。
相关推荐
csdn_aspnet2 小时前
TCP/IP协议栈深度解析:从基石到前沿
服务器·网络·tcp/ip
聆风吟º2 小时前
Oracle到KingbaseES数据库迁移:全流程实战指南与避坑总结
数据库·oracle·数据库迁移·kingbasees
哈__2 小时前
Oracle至KingbaseES数据库迁移全攻略:痛点拆解、配置实操与问题排查
数据库·oracle
shandianchengzi3 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
JZC_xiaozhong3 小时前
电商ERP如何同步订单数据到MySQL?集成方案解析
数据库·mysql·数据分析·etl工程师·嵌入式实时数据库·电商erp集成·数据集成与应用集成
消失的旧时光-19433 小时前
第四篇(实战): 订单表索引设计实战:从慢 SQL 到毫秒级
java·数据库·sql
知识分享小能手3 小时前
Oracle 19c入门学习教程,从入门到精通, Oracle 表空间与数据文件管理详解(9)
数据库·学习·oracle
John Song3 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
zhengfei6114 小时前
Chroma DB — 未经授权的信息披露
数据库
KaiwuDB4 小时前
KaiwuDB 获评“2025 中国大数据产业年度国产化优秀代表厂商”
数据库