solr es调优化和问题排查】的更多相关文章

(1)TOP 显示当前进程状态,结合 ps -aux 可以看是哪一个服务.mpstat 可以看是cpu的负载 (2)TOP -H -u 用户名 显示该用户下 所有的线程. 还有pstree (3)jstat -gc pid 1000 100 查看当前程序的GC问题 (4)jstack pid 看 有哪些进程是 RUNNING WAITING (5)jmap -histo:live 24715 | less 查看java中内存的分配情况 jmap -heap pid 当前堆内存中分配情况 (6)c…
一道面试题的引入: 如果面试的时候碰到这样一个面试题:ElasticSearch(以下简称ES) 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的. 很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了. 第一次搜索的时候,是 5~10s,后面反而就快了,可能就几百毫秒. 然后你就很懵,每个用户第一次访问都会比较慢,比较卡么?所以你要是没玩儿过 ES…
最近要做一个实时查询系统,初步协商后系统的框架 1.流式计算:数据都给spark 计算后放回HBase 2.查询:查询采用HBase+Solr/ES…
|0什么是全文搜索 什么是全文搜索引擎? 百度百科中的定义:全文搜索引擎是目前广泛应用的主流搜索引擎.它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式.这个过程类似于通过字典中的检索字表查字的过程. 从定义中我们已经可以大致了解全文检索的思路了,为了更详细的说明,我们先从生活中的数据说起. 我们生活中的数据总体分为两种:结构化数据 和 非结构化数据…
Schema Design Considerations indexed fields indexed fields 的数量将会影响以下的一些性能: 索引时的时候的内存使用量 索引段的合并时间 优化时间 索引的大小 我们可以通过 将 omitNorms=“true” 来减少indexed fields数量增加所带来的影响. stored fields Retrieving the stored fields  确实是一种开销.这个开销,受每个文档所存储的字节影响很大.每个文档的所占用的空间越大,…
缓存在 Solr 中充当了一个非常重要的角色,Solr 中主要有这三种缓存: Filter cache(过滤器缓存),用于保存过滤器(fq 参数)和层面搜索的结果 Document cache(文档缓存),用于保存 lucene 文档存储的字段 Query result(查询缓存),用于保存查询的结果 还有第四种缓存,lucene 内部的缓存,不过该缓存外部无法控制到. 通过这 3 种缓存,可以对 solr 的搜索实例进行调优.调整这些缓存,需要根据索引库中文档的数量,每次查询结果的条数等. 在…
在redis的安装目录下首先启动一个redis服务,使用默认的配置文件,作为主服务 ubuntu@slave1:~/redis2$ ./redis-server ./redis.conf & 在home目录下创建一个redis2 工作目录,拷贝redis配置文件到该目录下,并修改一下配置项 port pidfile /var/run/redis_6380 dir ~/redis2 slaveof 使用以上的配置文件再启动一个redis服务,就是master的从服务了 ubuntu/redis-s…
分词优化:IK Analyser Elastic Search 5.x官方提供的中文搜索并不友好,分词时经常将一句话分成很多单字,这时候可以使用IK Analyser插件进行优化,当然你在写java代码时,也可以使用这个组件进行分词服务 监控:X-Pack 安装X-pack插件后,X-pack会收集ES的各种运行数据,提供展现 监控展现:Kibana X-pack会依赖Kibana的运行,kibana运行后会有一个web页面,可以展现监控结果…
1. Es中10亿级别的数据量,如何提高查询效率 (1) 性能优化关键:file system cache a. 不要期待随手挑一个参数,就可以万能的应对所有性能慢的场景 b. es依赖于底层的file system cache,如果给file system cache更多的内存,尽量让内存容纳所有的idx segment file索引数据文件,则搜索时均走内存,性能很高.如果内存较少,其他索引将存入磁盘,从磁盘搜索的性能可能是数秒. c. 生产环境的最佳情况,是仅仅在es中存少量属性字段,即需…
ES Connection timed out,调优方向 1. 使用游标滚动查询 scrollId 游标id searchResponse.getScrollId() scroll 设置游标的保留时间 new Scroll(TimeValue.timeValueMinutes(30L)) 指这个游标保留30分钟 游标设置为30分钟,用完需要删除游标 restHighLevelClient.searchScroll(new SearchScrollRequest().scrollId(scroll…
HTML5的优化一直是困扰我的难题,特别是在移动端开发游戏和应用,所以对此进行了一些总结: 功耗优化点介绍 在移动设备中主要的功耗点在: 1. 网络的传输, 不管是3G网络还是WiFi传输都是移动设备功耗热点. 2. 页面的加载和渲染,由于页面加载和渲染需要大量的CPU和GPU时间去执行,是移动设备的另一个功耗热点. 在Web开发中,主要的功耗点在于: 1. JavaScript代码的解释执行 2. CSS规则的匹配和渲染 3. 图片的解析和渲染 总结出以下一些对开发者有价值的功耗优化点: 1.…
一.概述 记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了.现总结下查看死锁的常用二种方式. 1.1 第一种是图形化监听: sqlserver -->工具--> sql server profiler   登录后在跟踪属性中选择如下图: 监听到的死锁图形如下图 这里的描述大致是:有二个进程 一个进程ID是96, 另一个ID是348.   系统自动kill 掉了进程ID:96,保留了进程ID:348 的事务Commit. 上面死锁是由于…
solr服务器配置好在搜索时经常会搜出无关内容,把不该分的词给分了,导致客户找不到自己需要的内容,那么我们就从配置词典入手解决这个问题. 首先需要知道自带的词典含义: 停止词:停止词是无功能意义的词,比如is   .a   .are  .”的”,“得”,“我” 等,这些词会在句子中多次出现却无意义,所以在分词的时候需要把这些词过滤掉. 扩展词库:就是不想让哪些词被分开,让他们分成一个词. 同义词:假设有一个电子商务系统,销售书籍,提供了一个搜索引擎,一天,市场部的人要求客户在搜索书籍时,同义词就…
一.索引的概念 索引:类似于字典的目录,设置索引可以 加速数据查找,对数据进行约束: 二.索引类型: 主键索引:保证数据唯一性,不能重复+不能为空 普通索引:加速数据查找 唯一索引:加速查找+不能重复 组合索引(多列组合成一个索引): 三.索引的工作原理 1.索引原理: 如果要查找的数据,没有设置索引,会从前到后地毯式搜索数据,如果设置了索引,会单独创建一张额外表,按某种格式保存该列数据位置,方便查找: 2.索引表的数据的格式 2.1. hash格式:会把列中数据逐一hash成hash值(数字)…
写在前面 主要是为刚接触 FreeRTOS 的用户指出那些新手通常容易遇到的问题.这里把最主要的篇幅放在栈溢出以及栈溢出j检测上,因为栈相关的问题是初学者遇到最多的问题. printf-stdarg.c 当调用 C 标准库 的函数时,栈空间使用量可能会急剧上升,特别是 IO 与字符串处理函数,比如 sprintf().printf()等.在 FreeRTOS 源码包中有一个名为 printf-stdarg.c 的文件.这个文件实现了一个栈效率优化版的小型 sprintf().printf(),可…
对于分布式数据库来说,QUERY的运行效率取决于最慢的那个节点. 当数据出现倾斜时,某些节点的运算量可能比其他节点大.除了带来运行慢的问题,还有其他的问题,例如导致OOM,或者DISK FULL等问题. 如何监控倾斜 1.监控数据库级别倾斜 2.监控表级倾斜 出现数据倾斜的原因和解决办法 1.分布键选择不正确,导致数据存储分布不均. 例如选择的字段某些值特别多,由于数据是按分布键VALUE的HASH进行分布的,导致这些值所在的SEGMENT的数据可能比而其他SEGMENT多很多. 分布键的选择详…
https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html http://benchmarks.elasticsearch.org/ http://docs.splunk.com/Documentation/Splunk/6.3.1/Ind…
上次有个朋友咨询我一个GP数据倾斜的问题,他说查看gp_toolkit.gp_skew_coefficients表时花费了20-30分钟左右才出来结果,后来指导他分析原因并给出其他方案来查看数据倾斜. 其实很多朋友经常使用如下的方式来检查数据分布: select gp_segment_id,count(1) from person_info group by 1; 但是这种方法太简单,只有判断存储是否倾斜,不能够去对数据处理是否会出现倾斜做出判断.而且判断的维度很少,不直观. 后来Greenpl…
作者:战斗民族就是干  转载请注明地址:http://www.cnblogs.com/prayers/p/8982141.html 本篇文章我们来了解一下solr的性能方面的调优,分为Schema优化.索引更新与提交调优.索引合并性能调优.Solr缓存.Solr查询性能优化 Schema优化 1.index=true比index=false在索引时占用更多的内存.索引合并和优化时间更长,索引体积也响应变的更大,如果你不需要针对该域进行检索,可以设置为index=false 2.如果不关心Term…
Hermes与开源的Solr.ElasticSearch的不同 谈到Hermes的索引技术,相信很多同学都会想到Solr.ElasticSearch.Solr.ElasticSearch在真可谓是大名鼎鼎,是两个顶级项目,最近有些同学经常问我,“开源世界有Solr.ElasticSearch为什么还要使用Hermes?” 在回答这个问题之前,大家可以思考一个问题,既然已经有了Oracle.Mysql等数据库为什么大家还要使用ES下的Hive.Spark? Oracle和Mysql也有集群版,也可…
http://rdc.taobao.com/team/jm/archives/1753#nav 共整理三部分,第一部分Solr常规处理,第二部分针对性性处理,前者比较通用,后者有局限性.务必根据具体应用特性,具体调节参数,对比性能.第三部分solr查询相关的 具体应用需要全面去把控,各个因素一起起作用. 第一部分<Solr常规的调优> E文连接 http://wiki.apache.org/solr/SolrPerformanceFactors Schema Design Considerat…
一.缓存原理 缓存,带来急速性能体验! Solr提供了一系列的内置缓存来优化查询性能.Solr的缓存原理主要涉及以下4个方面: 1.缓存大小及缓存置换法 从缓存大小的角度来看,不能将缓存设置的太大,否则它会消耗JVM大量的内存.Solr能将所有的缓存对象都保存到内存中,不会溢写到磁盘中.为了控制缓存大小,Solr要求为每一个缓存都设置一个缓存对象的数量上限.当达到上限时,Solr将会采用最久未使用[Least Recently Used, LRU]置换法或最近最少使用[Least Frequen…
2010-10 目 录 1 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5 1.5.1 1.5.2 1.6 2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 3 3.1 3.1.1 3.1.2 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2…
Solr基本的三个XML配置文件: solr.xml: solr 日志.shard.solrcould等配置 solrconfig.xml: 某个solr core的配置 schema.xml:某个solr core的索引结构的配置,包含field 和field类型 这一章主要介绍solrconfig.xml, 某个solr core的配置. 1.Core的发现过程 扫描启动某个core的过程是这种:Solr webserver依据配置的java System Property(solr.sol…
本篇是”GC专家系列“的第三篇.在第一篇理解Java垃圾回收中我们学习了几种不同的GC算法的处理过程,GC的工作方式,新生代与老年代的区别.所以,你应该已经了解了JDK 7中的5种GC类型,以及每种GC对性能的影响. 在第二篇Java垃圾回收的监控中介绍了在真实场景中JVM是如何运行GC,如何监控GC数据以及有哪些工具可用来方便进行GC监控. 在本篇中,我将基于真实的案例来介绍一些GC调优的最佳选项.写本篇文章时,我假设你已经理解了前两篇的内容.为了深入理解本部分内容,你最好先浏览一下前两篇的内…
Hermes和开源Solr.ElasticSearch不同          谈到Hermes的索引技术.相信非常多同学都会想到Solr.ElasticSearch.Solr.ElasticSearch在真可谓是大名鼎鼎,是两个顶级项目,近期有些同学常常问我,"开源世界有Solr.ElasticSearch为什么还要使用Hermes?"          在回答这个问题之前,大家能够思考一个问题,既然已经有了Oracle.MySQL等数据库为什么大家还要使用Hadoo[下的Hive.S…
ES索引优化篇主要从两个方面解决问题,一是索引数据过程:二是检索过程.  索引数据过程我在上面几篇文章中有提到怎么创建索引和导入数据,但是大家可能会遇到索引数据比较慢的过程.其实明白索引的原理就可以有针对性的进行优化.ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间的数据平衡.所以从上我可以通过索引的settings进行第一优化:  1 "index.translog.flush_threshold_ops": "1…
Elasticsearch简介 Elasticsearch是一个实时分布式搜索和分析引擎.它让你以前所未有的速度处理大数据成为可能.它用于全文搜索.结构化搜索.分析以及将这三者混合使用:维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能.英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了解公众对新发表的文章的回应.Stack…
elasticsearch.in.sh文件主要是内存优化 ES_MIN_MEM=24g(24g是物理内存的一半) ES_MAX_MEM=24g ES调优: 1.Java层面的调优,加大JVM的可用内存及单线程内存(在/bin/elasticsearch.in.sh文件修改参数) 一半分配主机物理内存的1/4 -- 1/2: MAX=MIN,当max=min时,会锁定内存,不让JVM写入swapping,避免降低ES的性能,bootstrap.mlockall:true 2.ES本身调优在 con…
为什么es需要优化? 答: [root@master elasticsearch-2.4.0]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 6661 max locked memory (kbytes, -l) 64 max…