单击此处编辑母版标题样式
功能概念 、系统原理 、系统的使用
演讲人:林健
性能优化1 ElastichSearch(ES) 性能优化
性能优化 – JVM 1.1
l 优化线程池,当有很多查询请求时,es默认多线程并发处理,这里我们要通过指定配置,
设置es的多线程执行方式及使用。
l
第一章 概念解释 – 1.2
l suggest:此线程池用于建议器请求。它的类型默认为fixed,size默认为可用处理器的数
量,队列的size默认为1000。
get:此线程池用于实时的GET请求。它的类型默认为fixed,size默认为可用处理器的数
量,队列的size默认为1000。
bulk:你可以猜到,此线程池用于批量操作。它的类型默认为fixed,size默认为可用处理
器的数量,队列的size默认为50。
percolate:此线程池用于预匹配器操作。它的类型默认为fixed,size默认为可用处理器
的数量,队列的size默认为1000。
l elasticsearch.yml中可以设置 :
l threadpool.index.type: fixed threadpool.index.size: 100
第一章 概念解释 – 1.3
l 文档: 一个文档是一个可被索引的基础信息单元。比如,你可以拥有某一个客户的文档,
某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以JSON
(Javascript Object Notation)格式来表示。文档必须被索引/赋予一个索引的type。
索引
( index )
1 N
1 N
类型
( type )
文档
( doc )
第一章 概念解释 – 1.4
l 分片: 一个索引保存了大量的文档数据,那这些数据是如何存储的呢?其实这是把很多
数据,分布的放在每个分片中,分片又被放到集群中的各个机器上。每个分片都独立的
“索引”(即可以增加、删除,修改、查询)。这样做的好处有点两点。
1、横向扩展,水平分割数据容量。 2、可以在分片上并行的进行操作。
主分片
1 N
复制分片
第一章 概念解释 – 1.5
l 复制分片: 一个分片可以有多个复制分片,也可以无复制分片。它的作用主要是防止分
片故障,加速查询索引等功能,提供了高可用性。另外,复制分片是不和主分片在一起的,
意思就是说,一个主分片在一台机器上,它的复制分片可能分布在其它N台机器上。在这
里,我们可以把它理解为,一个分片的复制,就叫复制分片。
分片
( primary_shards)
复制分片
( primary_shards)
复制分片
( primary_shards)
系统原理2 ElastichSearch(ES) 查询为什么能实时?