elasticsearch 性能优化

es性能优化 目录 es性能优化 写入性能优化 增加refresh的时间间隔 默认1s就会触发一次Refresh,然后Refresh会把内存中的数据刷新到操作系统的文件缓存系统中(buffer ——> OS cache)。每次索引的refresh会产生一个新的segment段,这会导致频繁的segment merge行为。一般在查询实时性要求不高的场景下可改为30s,甚至是“-1”(关闭refresh)。入库完之后修改回默认值是1s即可,形如: refresh参数设置 Curl -XPUT "localhost:9 阅读详情

 

 #系统默认的最大打开文件数的限制

vi /etc/security/limits.conf

 

*     -       nproc          50240   

*     -       nofile          20480 #65535

 

*                -       npro            20480

*                -       nofile          65535

*                -       memlock         unlimited

 

 

vi /etc/sysctl.conf

#尽量不用交换空间

#

#改打开文件数量

vm.max_map_count=655360

#

#网络优化

net.core.somaxconn = 32768

#设置为1 而不是0 主要是可能出现内存满后会乱杀程序

#这个和limit配合,

vm.min_free_kbytes = 65536

fs.nr_open = 20480 #2097152

 

vm.swappiness = 1

 

#下面这些,主要是解决http请求高并发的问题,不想改么用上面的网络优化

net.core.somaxconn = 4096

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.core.netdev_max_backlog = 20480

net.ipv4.tcp_max_syn_backlog = 20480

net.ipv4.ip_local_port_range = 1000 65535

net.ipv4.tcp_max_tw_buckets = 400000

net.ipv4.tcp_no_metrics_save = 1

net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_rmem = 4096 65536 16777216

net.ipv4.tcp_wmem = 4096 65536 16777216

net.ipv4.tcp_mem = 786432 2097152 3145728

net.ipv4.tcp_max_orphans = 131072

 

 

 

运行 sysctl -p 命令,使这些系统参数生效。

 

#关闭swap

swapoff /dev/mapper/vg_"hostname"-lv_swap

 

 

#调整每个进程最多可以打开的文件数量和上面的vi /etc/security/limits.conf冲突。。但是都行

 

vi /etc/profile

ulimit -SH unlimited

ulimit -u unlimited

ulimit -i unlimited

ulimit -l unlimited

ulimit -n 204800

 

cd/ etc/security/ limits.d

看。。。数字开头的文件

打开/etc/security/limits.d/90-nproc.conf,

 

把soft    nproc     4024这行的1024改大就行了。

 

#关闭磁盘文件访问时间 不知道怎么弄 可以

#禁止系统对文件的访问时间更新会有效提高文件读取的性能

/dev/sdb    /data ext4 noatime 0 0

/dev/sdb                /data             ext4    defaults,noatime,nodiratime        1 2

 

#防火墙

yum install iptables-services

systemctl mask firewalld.service

systemctl enable iptables.service

systemctl enable ip6tables.service

静态防火墙规则配置文件是 /etc/sysconfig/iptables 以及 /etc/sysconfig/ip6tables .

注: iptables 与 iptables-services 软件包不提供与服务配套使用的防火墙规则. 这些服务是用来保障兼容性以及供想使用自己防火墙规则的人使用的. 你可以安装并使用 system-config-firewall 来创建上述服务需要的规则. 为了能使用 system-config-firewall, 你必须停止 firewalld.

为服务创建规则并停用 firewalld 后,就可以启用 iptables 与 ip6tables 服务了:

systemctl stop firewalld.service

systemctl stop iptables.service

systemctl stop ip6tables.service

 

#修改默认文件创建权限

echo umask 0022 >> /etc/profile

 

#调整es 内存使用

vi elasticsearch\bin\service\elasticsearch.conf

#

#两者最好改成一样的,否则容易引发长时间GC(stop-the-world)

#HEAP_SIZE设置为物理内存的60%左右。。

set.default.ES_HEAP_SIZE= 4620

##分配给es的最小内存 让min == max 建议怎么做,让gc跑起来

set.default.ES_MIN_MEM=4620

##分配给es的最大内存 

set.default.ES_MAX_MEM=4620

 

如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world

建议使用G1 GC

注释掉:

JAVA_OPTS=”$JAVA_OPTS -XX:+UseParNewGC”

JAVA_OPTS=”$JAVA_OPTS -XX:+UseConcMarkSweepGC”

JAVA_OPTS=”$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75″

JAVA_OPTS=”$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly”

修改为:

JAVA_OPTS=”$JAVA_OPTS -XX:+UseG1GC”

JAVA_OPTS=”$JAVA_OPTS -XX:MaxGCPauseMillis=200″

G1 GC优点是减少stop-the-world在几率,但是CPU占有率高。

#注意,如果使用G1垃圾收集器,堆不再使用的内存可能会被归还给操作系统

#G1垃圾收集器的不足是CPU使用率越高,应用性能越差。因此,如果在内存足够和CPU能力一般的情况下,CMS可能更胜一筹。

 

#对于Elasticsearch来说,G1意味着没有长时间的stop-the-world阶段,以及更灵活的内存管理,

#因为buffer memory和系统I/O缓存能更充分的利用机器内存资源。代价就是小成本的最大化性能,因为G1利用了更多CPU资源。

#需要更优化的性能,你可以参考

#http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html

 

 

#replicas 设置为0 

vi elasticsearch/config/elasticsearch.

index.number_of_replicas:0

#### 等index弄完么。动态执行下

PUT _all/_settings

{

  "index" : {

 

                "number_of_replicas" :1

            }

}

###

 

 

 

 

##配置文件的其他优化

discovery.zen.ping.multicast.enabled: false

discovery.zen.ping.unicast.hosts: ["172.30.1.71","172.30.1.72","172.30.1.52"]

 

indices.memory.index_buffer_size:  30%

indices.reovery.max_bytes_per_sec: 10gb

 

 

 

index.merge.policy.max_merged_segment: 10gb

index.merge.scheduler.max_thread_count: 3

index.merge.scheduler.max_merge_count: 6

 

index.refresh_interval: 30s

 

index.translog.flush_threshold_size: 5gb

index.translog.flush_threshold_ops: 50000

 

 

 

index.cache.field.type: soft

index.cache.field.max_size: 50000

index.cache.field.expire: 10m

index.fielddata.cache: soft

 

http://stackoverflow.com/questions/28193076/optimize-elasticsearch-jvm

https://discuss.elastic.co/t/miracle-g1-settings-for-30gb-heaps/25271

 

« 上一篇: centos下Elasticsearch数据迁移与备份
» 下一篇: centos挂存储

(Elasticsearch)ES写入性能优化方案 在ES的默认设置下,是综合考虑数据的可靠性,搜索实时性,写入速度等因素的。当离开默认设置,追求极致写入速度时,很多是以牺牲可靠性和搜索实时性为代价的。有时候,业务上对数据可靠性和搜索实时性要求不高,反而对写入速度要求很高,此时可以调整一些策略,最大化写入速度。 综合来说可以从以下几个方面入手: 加大translog flush间隔,目的是降低iops,writeblock (可靠性降低) 加大index refresh间隔,除了降低I/O,更重要的是降低segment merge频率 调整bulk 阅读详情

相关推荐

记一次Elasticsearch查询性能优化

  背景:在数据和服务都准备完成的情况下,打开页面,发现请求需要要几秒才返回; 思路:1.查看搜索接口请求本身耗时情况,排除网络抖动因素,发现搜索接口请求到ES返回结果本身耗时较高; 2.检查每次请求到ES的入参,并在原有参数中加入"profile": true,查看ES处理搜索请求的耗时分布情况; 入参: 返回: 发现只是一个简单的termQuery耗时818ms,然后查看是...

my201110lc的博客 2万+

Elasticsearch 性能监控基础

本文的来源是我翻译他人的一篇技术博客,感谢原作者Emily Chang 原文地址 下面让我们一起来学习Elasticsearch一、Elasticsearch 是什么Elasticsearch是一款用Java编写的开源分布式文档存储和搜索引擎,可以用于near real-time存储和数据检索。1、Elasticsearch简要组成在开始探索性能指标之前,让我们来看看Elasticsearch的

Mr.Sun 3209

【es】使用ElasticSearch的44条建议 性能优化

1.概述 转载:使用ElasticSearch的44条建议 建议去看原文,这里是防丢失 在搜索业务上摸爬滚打3年,使用的Es版本也从1.x升级到了5.x,扮演的角色也逐渐从Es的使用方变为维护方,这里大致汇总了使用Es过程中踩的一些坑以及一些注意事项,也会穿插一下我们的解法。 01 — es中建索引是指创建一个保存数据的目录,用于保存倒排索引,索引创建之后是不可变的(Immutable),只允许新增字段。 因为lucene中field是带类型的,不同类型的字段进入倒排索引后会经过压缩,long/int/.

九师兄 4641

边学边实战系列(十五):ElasticSearch 性能监控

点关注公众号,回复“1024”获取2TB学习资源!前面介绍了集群部署、备份和迁移、集群规划与运维、分片与副本、常用命令、可视化工具、性能优化相关的知识点。今天我将详细的为大家介绍 ElasticSearch 性能监控相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!!我们要监控哪些Elasticsearch metricElasticsearch 提供了大量的 Metric,...

民工哥的博客 2051

【Elasticsearch】几点 Elasticsearch集群规划及性能优化

ES集群的健康状态分为三种,分别是Green、Yellow和Red。Green(绿色) :全部主 & 副本分片分配成功;Yellow(黄色) :至少有一个副本分片未分配成功;Red(红色) :至少有一个主分片未分配成功。其中需要重点关注的几个字段有 status、number_of_nodes、unassigned_shards 和 number_of_pending_tasks。

九师兄 973

keil自动分配SDRAM空间设置使用

1.修改.sct文件。

qizhi321123的博客 1404

记一次ES服务突发严重耗时的问题定位和解决方案

在双十一时,有用户反馈推广平台物料列表出现了耗时严重的情况。筛选排序系统出现过耗时严重的情况,根据业务系统的筛选排序慢接口的traceId, 我们分析了一下请求链路上的瓶颈是ES. 问题排查 首选我们在监控平台上确认了一下ES的访问流量,发现流量曲线变化不大,说明不是ES读请求压力突增导致的。 接着我们看了ES的bigdesk监控,发现有不少Full GC,与此同时查看了GC日志,发现日志里有比较频繁的CMS。 然后分析了下日志的内容,发现cms remark这个阶段时间特别长,甚至有3-5s的情况

Java搜索工程技术栈 1116

告别模糊与偏色:使用RKISP Tuner为RK3588s+IMX415进行图像质量调优的实战心得

本文详细介绍了如何使用RKISP Tuner为RK3588s+IMX415进行图像质量调优的实战经验。从调试环境搭建到3A算法优化,再到画质增强模块的深度调参,提供了全面的技术指导和参数建议,帮助工程师解决噪声、色偏和细节模糊等常见问题,显著提升成像质量。

weixin_28729205的博客 455

ELASTICSEARCH 优化写入速度到极限

原文连接:https://www.easyice.cn/archives/207

d18247128851的博客 1万+

FreeCAD源码分析:Sketcher模块

Sketcher模块基于Part模块功能实现了特征编辑(Feature Editing)建模的功能。这类参数化建模系统主要包括几何表示、约束求解器等两大组成部分。

国产CAx(CAD/CAE/CAM)软件研发 6525

DIY天文摄影:如何用NMP溶剂安全去除佳能CMOS传感器的拜耳滤镜(附详细步骤)

本文为天文摄影爱好者提供了一份详尽的DIY指南,介绍如何使用NMP溶剂安全去除佳能CMOS传感器的拜耳滤镜,将其改造为高灵敏度单色相机。文章深入剖析了NMP溶剂的作用原理与关键风险,并系统性地拆解了从材料准备、分步操作到后期验证的完整实践流程,旨在帮助具备动手能力的爱好者实现深空天体摄影的进阶目标。

w3x4y的博客 310

es创建索引数量多了好还是少了好_Elasticsearch性能优化总结

Elasticsearch是目前大数据领域最热门的技术栈之一,经过近8年的发展,已从0.0.X版升级至6.X版本,虽然增加了很多的特性和功能,但是在主体架构上,还是没有太多的变化。下面就把我对于ES使用实践的一些经验总结一下,供大家参考;也请大家拍砖。一、 硬件环境选择:如果有条件,尽可能使用SSD硬盘, 不错的CPU。ES的厉害之处在于ES本身的分布式架构以及lucene的特性。IO的提升,会极...

weixin_39914049的博客 1895

UI渲染顺序:合批为何被拆碎?

在 Hierarchy 中,避免出现:Image(列表1) → Text(列表1) → 特效 → Image(列表2) → Text(列表2)…若可行,在逻辑上把布局组织成“同类元素集中”:例如:列表行中,Image 集中、Text 集中;或者接受 Text 本身就拆出一批,关键是不要在 Text 中间再插入别的材质。现实中不一定能做到完美的“所有 Image 连在一起”,但你会有一个意识:同一 Canvas 内,如果你把不同材质的元素交错穿插,

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 87

elasticSearch es 性能优化

1.写入到es中的数据量尽量少于filesystem cache的剩余内存 2.es中的数据放那些需要搜索的必要信息 3.冷热数据分离,假如有6条机器,两个索引,一个索引放热数据,一个索引放冷数据,每个索引3个shard,3台机器放热数据index,另外3台机器放冷数据index,这样你大部分时间在访问热数据,热数据都在filesystem cache中,这样访问性能是很高的,另外冷数据的话,大部分都在磁盘上,即使性能差点,也是少部分人在访问。 4.设计es中的数据模型,例如订单表、订单条目表 o.

qq_33348135的博客 190

【YOLO系列】YOLOv11详解:模型结构、损失函数、训练方法及代码实现

YOLOv11在目标检测领域实现重大突破,通过动态骨干网络(Dyna-Backbone)和FPN++架构,在保持高帧率(≥60FPS)的同时提升小目标检测精度(AP_S提升5.6%)。创新采用CIoU++损失函数和类别平衡Focal Loss,结合Mosaic-Plus数据增强,参数量减少18%至6.5M。实验显示,该模型在COCO数据集上实现更高mAP,特别适合移动端部署,Jetson Xavier平台能耗比优化至3.2W·ms⁻¹,支持目标检测、实例分割等多任务场景。关键创新包括动态深度调整和双向特征金

一碗白开水一 3444

通信算法之320:DJI无人机云哨--信息包类型

大疆DJI无人机的云哨信息包主要分为四种类型:1)含经纬度位置、型号及序列号的完整数据包;2)仅含序列号的简化数据包;3)完全加密的数据包;4)加密密钥包。这些信息包格式不同,解析方式和应用场景也各异。如需更详细的技术资料,可联系作者获取。

leegang12的专栏 761

Elasticsearch7.17 五 :ES读写原理、分片设计和性能优化

单个分片 7.0开始,新创建一个索引时,默认只有一个主分片。单个分片,查询算分,聚合不准的问题都可以得以避免 单个索引,单个分片时候,集群无法实现水平扩展。即使增加新的节点,无法实现水平扩展 两个分片 集群增加一个节点后,Elasticsearch 会自动进行分片的移动,也叫 Shard Rebalancing 如何设计分片数 当分片数>节点数时,一旦集群中有新的数据节点加入,分片就可以自动进行分配,分片在重新分配时,系统不会有downtime 多分片的好处: 一个索引如果分布在不同的节点,多个节点可以并

admin522043032的博客 4223

Android功耗系列专题理论之一:功耗优化分析思路简介

本文系统介绍了电子系统功耗分析方法,涵盖静态与动态功耗原理、电流波形分析技术和模块化拆解策略。重点阐述了PMIC与CPU协同管理机制、DVFS动态调节技术,以及通过示波器捕获波形特征定位异常的方法。针对亮屏等典型场景,提出三阶段对比分析法,并详细说明硬件/软件拆解方案及混合验证策略。文章还总结了常见问题模块(CPU、多媒体、外设)的排查流程,强调需结合日志分析、温度控制及重复测试确保数据可靠性,为功耗优化提供系统化解决方案。

1460

ES性能优化:全网最全的一篇

更多的字段对搜索也是有影响的,ES 非常依赖于底层的文件系统缓存,我们肯定想把更多的数据(index segment)缓存起来,这样可以提升性能。的方式来进行处理的。使用 Bulk 的方式有利于提高写入的性能,这个其实也很好理解,如果链接不是长链接,每写入一条数据都进行一次 TCP 链接的过程,那效率是多低啊。对于写入的耗时还是很明显的,从一开始每个批次 3200 条数据的耗时 4 分 39 秒,一路优化到最后的 3 分 53 秒,需要注意的是,部分配置是有特定的使用场景的。

一只小星星 4460

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Elasticsearch——Elasticsearch性能优化实战

摘要本文主要介绍了 Elasticsearch 性能优化的实战方法,从硬件配置优化、索引优化设置、查询方面优化、数据结构优化以及集群架构设计等五个方面进行了详细阐述,旨在帮助读者提升 Elasticsearch 的性能表现。1. 硬件配置优化升级硬件设备配置一直都是提高服务能力最快速有效的手段,在系统层面能够影响应用性能的...

cnzzs的博客 641

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ElasticSearch如何做性能优化?

ElasticSearch如何做性能优化?

java1234的博客 1299

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

es 插入很慢_ElasticSearch插入性能优化

一、问题分析最近公司的es插入/更新性能大幅度下降,单日数据(70w)刷入从原来10min+,变成了现在的解决3h。插入效率从1k-2k条/s,到现在100-200条/s。总结了下问题的原因,有以下几点:堆内存不足segment数量过多导致内存吃紧业务线程阻塞在BulkProcessor对象二、问题优化方案1、堆内存不足问题如下图可看出,堆内存已经非常吃紧。Index Memory/segment...

weixin_39680380的博客 7982

ElasticSearch 性能优化实战,让你的 ES 飞起来!

点击上方“朱小厮的博客”,选择“设为星标”回复”1024“获取独家整理的学习资料ES发布时带有的默认值,可为es的开箱即用带来很好的体验。全文搜索、高亮、聚合、索引文档 ...

朱小厮的博客 7512
上一篇: linux分析利刃之sar命令详解
下一篇: elasticsearch 的日志gc
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值