(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)cat /proc/net/sockstat 看当前的socket是否有异常

降低solr CPU和 内存的使用:

autowarmCount设为0,filterCache的大小都调到3000 减少内存的使用和CPU的使用

通过进行日志挖掘,限制最大最大可以查询的数据量,避免深分页

降低错误率,不要返回exception 返回 “”

ES优化

(1)多个分片放在一台服务器下(这多个分片组成的数据是完整的),有个属性可以优先设置优先读取当前服务器中的其他节点。
(2)缓存 set get 改为异步方法,而非同步方法

(3)将构建索引构建选择在请求量不大的时间段(假的读写分离),因为构建索引的时候会消耗cpu,会影响Query使用cpu.

(4)close 不需要的index,释放非必需index所占用的内存和CPU。

(5)search preference 可设置为local 避免跨机房网络传输。

(6)上新时间点会频繁更新doc,导致cpu利用率过高,采用timeline的方式,以时间轴的方式去判定状态。

方向:

是否可以做读写分离,分片的意义是不是不大

搜索服务中的问题:

(1)用线程的问题,如果请求量过多的话,线程有可能阻塞。

(2)打分公式中 累计取redis的时间会比较长,造成整体时间长,统计数据量,加入超时限制callable future get

(3)该filter的进行filter 关键字的匹配从filter中去除,只filter一些通用条件,减少query中的重复计算

(4)打分脚本script采用store的方式

(5)增加service层的缓存区间,比如用户请求20条数据,设置发送到es端为100条并进行缓存,以此减少对es频繁的访问

(6)挖掘搜索日志,限制size 避免深分页。

(7)采用游标curosr和scroll

(8)full gc 导致 队列中的请求过多,造成swap memeory https://www.cubrid.org/blog/maxclients-in-apache-and-its-effect-on-tomcat-during-full-gc

搜索的准确率和召回率:

(1)slop 过大 则准确率降低,但是召回率升高

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

  1. ES 调优查询亿级数据毫秒级返回!怎么做到的?--文件系统缓存

    一道面试题的引入: 如果面试的时候碰到这样一个面试题:ElasticSearch(以下简称ES) 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因 ...

  2. 实时查询系统架构:spark流式处理+HBase+solr/ES查询

    最近要做一个实时查询系统,初步协商后系统的框架 1.流式计算:数据都给spark 计算后放回HBase 2.查询:查询采用HBase+Solr/ES

  3. lucent,solr,ES比较

    |0什么是全文搜索 什么是全文搜索引擎? 百度百科中的定义:全文搜索引擎是目前广泛应用的主流搜索引擎.它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现 ...

  4. solr性能调优

    Schema Design Considerations indexed fields indexed fields 的数量将会影响以下的一些性能: 索引时的时候的内存使用量 索引段的合并时间 优化时 ...

  5. SOLR缓存调优

    缓存在 Solr 中充当了一个非常重要的角色,Solr 中主要有这三种缓存: Filter cache(过滤器缓存),用于保存过滤器(fq 参数)和层面搜索的结果 Document cache(文档缓 ...

  6. [redis]复制机制,调优,故障排查

    在redis的安装目录下首先启动一个redis服务,使用默认的配置文件,作为主服务 ubuntu@slave1:~/redis2$ ./redis-server ./redis.conf & ...

  7. ES的优化布局

    分词优化:IK Analyser Elastic Search 5.x官方提供的中文搜索并不友好,分词时经常将一句话分成很多单字,这时候可以使用IK Analyser插件进行优化,当然你在写java代 ...

  8. Es性能优化

    1. Es中10亿级别的数据量,如何提高查询效率 (1) 性能优化关键:file system cache a. 不要期待随手挑一个参数,就可以万能的应对所有性能慢的场景 b. es依赖于底层的fil ...

  9. ES调优

    ES Connection timed out,调优方向 1. 使用游标滚动查询 scrollId 游标id searchResponse.getScrollId() scroll 设置游标的保留时间 ...

随机推荐

  1. windows10家庭版的策略组

    策略组是个好东西,可惜家庭版没有 但是,请看大佬博客https://blog.csdn.net/cangsheng45/article/details/82262037

  2. Python——面向对象,简易学生信息管理系统

    一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...

  3. Node中使用MongoDB

    简介 MongoDB 中文文档 MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. Mongoose 在Node中可以使用 Mo ...

  4. MySQL安装图解及调试

    MySQL 5.7安装图解 注意:请确认系统是否已安装Microsoft Visual C++2013 Redistributable基本运行库,开始>控制面板>卸载程序中查看,如图所示: ...

  5. day19 几个模块的学习

    # 模块本质上就是一个 .py 文件# 数据类型# 列表.元组# 字典# 集合.frozenset# 字符串# 堆栈:特点:先进后出# 队列:先进先出 FIFO # from collections ...

  6. JMeter性能监控插件PerfMon Metrics Collector

    Jmeter性能监控插件由客户端插件和服务器端程序组成. 官方文档及插件下载地址https://jmeter-plugins.org/wiki/PerfMon/ 将插件 plugins-manager ...

  7. 刷题79. Word Search

    一.题目说明 题目79. Word Search,给定一个由字符组成的矩阵,从矩阵中查找一个字符串是否存在.可以连续横.纵找.不能重复使用,难度是Medium. 二.我的解答 惭愧,我写了很久总是有问 ...

  8. 已发布的WEB项目,如何挂在服务器或者本机的IIS下

    第一步:打开IIS,在打开的IIS中,右击 “Default Web Site”,在弹出对话框中选择“新增应用程式”,参照如下图,设置相应参数. 第二步:在已经发布的项目文件系统添加在站点下后,点击项 ...

  9. C#设计模式学习笔记:(2)工厂方法模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7567880.html,记录一下学习过程以备后续查用. 一.引言 接上一篇C#设计模式学习笔记:简单工厂模式( ...

  10. 生成指定规模大小的redis cluster对关系

    需求: 指定一批ip列表,生成指定规模大小的redis cluster主从对应关系. ip_list=(1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 5.5.5.5) port=70 ...