ELASTIC SEARCH 性能调优
ELASTICSEARCH 性能调优建议
创建索引调优
1.在创建索引的使用使用批量的方式导入到ES。
2.使用多线程的方式导入数据库。
3.增加默认刷新时间。
默认的刷新时间是1秒钟,这样会产生太多小的SEGMENT,导致未来的合并压力,如果调整这个大小,会导致实时性的降低。
默认1秒钟,就是创建在插入后一秒钟创建索引,如果设置30秒,那么每隔30秒将缓存的数据写一个内存的SEGMENT,让es可以搜索到。
4.在初始导入的时候,禁止刷新和复制。
如果在需要导入大量数据时,应该禁止刷新,将 index.refresh_interval 刷新间隔设置为-1,并且将复制分片数(index.number_of_replicas)设置为0。
这是会有临时丢失分片数据的的风险,但是创建索引会更快。一旦初始导入完成,需要将index.refresh_interval 和 index.number_of_replicas 设置会原来的值。
5.禁止swap
大多数操作系统会将内存使用到文件系统缓存,会将应用程序未用到的内存交换出去。会导致jvm的堆内存交换到磁盘上。交换会导致性能问题。会导致内存垃圾
回收延长。会导致集群节点响应时间变慢,或者从集群中断开。
临时禁止 swap的方法
swapoff -a
永久禁止的方法
编辑 /etc/fstab 文件,注释所有包含 swap的文件行。
6.将内存分配给文件系统
文件系统缓存被用来文件缓冲操作,应确保运行es的机器一般内存用于文件系统缓存。
7.使用自动产生的D
如果明确指定了文档ID,ES会去检查在相同的分片上是否有冲突的ID,这个会影响索引的性能。
8.使用更快的硬件
使用SSD硬盘,速度会超过机械硬盘。使用本地存储,不要使用远程存储或NFS,SMB等。
9.索引缓冲大小
ES默认的索引缓冲是内存大小的是系统 的10%,如果内存10G,那么1G是分配给ES的索引缓冲的。
10.禁止 _field_names
如果不用来查询,可以禁止 _field_names.
查询调优
1.给文件系统增加缓存
需要给一半的内存给文件系统。
2.使用更快的硬件。
3.文档模式调整
建模时:
不要使用嵌套对象或者父子关系建模。
ELASTIC SEARCH 性能调优的更多相关文章
- MySQL性能调优与架构设计——第 15 章 可扩展性设计之Cache与Search的利用
第 15 章 可扩展性设计之Cache与Search的利用 前言: 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为 ...
- 性能调优:理解Set Statistics IO输出
性能调优是DBA的重要工作之一.很多人会带着各种性能上的问题来问我们.我们需要通过SQL Server知识来处理这些问题.经常被问到的一个问题是:早上这个存储过程运行时间还是可以的,但到了晚上就很慢很 ...
- MySQL性能优化总结___本文乃《MySQL性能调优与架构设计》读书笔记!
一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...
- Elasticsearch原理解析与性能调优
基本概念 定义 一个分布式的实时文档存储,每个字段 可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 用途 全文检索 结构化搜索 分 ...
- Elasticsearch索引和查询性能调优的21条建议
Elasticsearch部署建议 1. 选择合理的硬件配置:尽可能使用 SSD Elasticsearch 最大的瓶颈往往是磁盘读写性能,尤其是随机读取性能.使用SSD(PCI-E接口SSD卡/SA ...
- web前端性能调优
最近2个月一直在做手机端和电视端开发,开发的过程遇到过各种坑.弄到快元旦了,终于把上线了.2个月干下来满满的的辛苦,没有那么忙了自己准备把前端的性能调优总结以下,以方便以后自己再次使用到的时候得于得心 ...
- [网站性能2]Asp.net平台下网站性能调优的实战方案
文章来源:http://www.cnblogs.com/dingjie08/archive/2009/11/10/1599929.html 前言 最近帮朋友运营的平台进行了性能调优,效果还不错, ...
- Asp.net平台下网站性能调优的实战方案(转)
转载地址:http://www.cnblogs.com/chenkai/archive/2009/11/07/1597795.html 前言 最近帮朋友运营的平台进行了性能调优,效果还不错,所以写出来 ...
- 第0/24周 SQL Server 性能调优培训引言
大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MS SQL技术学习的一个兴趣记录. 作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤浅,博而不专,到现在我才发现自己的兴趣所在,于 ...
随机推荐
- JMeter 连接MySQL
第一步:添加JDBC 驱动 第二步:在线程组 下面添加一个“JDBC Connection Configuration” 第三步:在“线程组”,在下面添加一个“JDBC request”
- 使用css方法使footer保持在页面的最底部
使footer保持在页面的底部,是常见的需求,之前面试的时候也遇见了一个这样的问题,今天在这里记录下css实现的方式. 使footer保持在页面的底部,需要考虑header+content部分不够多的 ...
- Json、JavaBean、String等互转
Json.JavaBean.String等互转 本文介绍简单的Json.JavaBean.String互换(下文JavaBean简称Object对象,这里不是很严谨) 转换关系如下: 其中String ...
- 【Linux 线程】线程同步《二》
1.读写锁 与互斥量类似,但读写锁允许更高的并行性.其特性为:写独占,读共享. 读写锁状态: 一把读写锁具备三种状态: (1)读模式下加锁状态 (读锁) (2)写模式下加锁状态 (写锁) (3)不加锁 ...
- Django的视图函数和路由系统中一些没有用过的小点
1.request对象 print("返回用户访问的url,但是不包括域名",request.path_info) print("返回请求的方法,全大写",re ...
- activity背景毛玻璃效果
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet解决
spring配置之后启动报错,如下: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServl ...
- 微信小程序 wxml中的属性记录
1. view 标签中的属性 style 中的参数 margin-top:10px; (向上距离) display : flex; (display : flex 容器声明) flex-direc ...
- Oracle Telnet 1521 失败
作中发现自己的电脑“telnet 127.0.0.1 1521”(注意:不要拼成telnet 127.0.0.1:1521 ) 可以通过,但是使用localhost.主机名来telnet,则失败. 解 ...
- 为Linux虚拟机设置网络
安装虚拟机的时候为了使用方便我们除了需要设置静态ip为了能够让虚拟机也能够上网我们需要设置虚拟机网络 当然也可以使用虚拟机和主机共享上网,这个比较简单,这里就不说了,现在我们来通过桥接的方式为虚拟机设 ...