Solr JVM&运维

1. GC的选择
  4core、8g memory 首选cms,cms的各参数的调节需要观察。

2. swap配置
 
性能优先,建议关掉。关掉的代价需要评估。关掉之后buffer/cache等变化需要观察!

3. newSize maxnewsize 尽量小 并且值相同,PermSize 与maxPermSize
值也相等,尽量小
 4core、8g 在1024m左右既可以

4.xms xmx 值相等,能小尽量小,节省内存给额外进程。单进程,不妨开大些
 8g memory分配jvm在6g左右既可以

5.solr cache的参数配置,务必谨慎
 cache参数只针对一个cache对象而说,而searcherhanlder层的cache无法控制上限,往往导致oom

 fieldvaluecache 的配置和warm 对内存消耗、性能影响比较明显
 filtecache docuementcache 明显与查询请求特征相关
 如果请求量足够大,建议不配置cache,系统自身在 快的过程中 省出内存

6.句柄追踪
  /usr/sbin/lsof | grep deleted
  solr 句柄发生点:索引同步、索引core切换

7.load追踪
 死循环导致load高,top shift+h; heap导出 
由前者发现load高线程id,由后者发现那个方法不对劲
 但是top不一定准确,不妨一试,最好dump出内存分析。参考文章
 http://religiose.iteye.com/blog/1488806

 索引查询导致:与内存、cache配置有关、数据总量是硬关联
 在线全量、在线索引合并load也会增高
 句柄导致load增高
 swap区大量使用
 计算密集load增高,例如facet、group的内存计算
8. 超时追踪
 querylog解析,提前超时log,按时间分类。超时点:切换core、增量点两处,以及复杂查询。

9.所有参数都监控起来,包括disk、memory、solrcore、query超时等。

时间: 2024-08-30 13:47:01

Solr JVM&运维的相关文章

服务器集群应用及运维经验小结

本人目前很重要的一部分工作是参与或负责部门内一些集群的维护.应用开发以及优化,其中包括:HBase集群.Storm集群.Hadoop集群.Super Mario集群(部门内部开发的实时流处理系统)等,随着业务的拓展,集群机器数已经小有规模. 接下来是我对自己这1年多以来,在集群应用与运维方面所做事情的梳理与总结.以下内容有些零散,大家姑且当做一篇非严格意义上的技术文章来阅读. 1)安装.部署过程要尽可能自动化. 将集群搭建的步骤脚本化,可以做到批量部署多个节点.快速上线/下线一个节点.集群的节点

运维改革探索(二):构建可视化分布式运维手段

作者介绍 朱祥磊,山东移动BOSS系统架构师,负责业务支撑系统架构规划和建设.获国家级创新奖1项.通信行业级科技进步奖2项.移动集团级业务服务创新奖3项,申请发明专利13项. 工具篇:构建可视化分布式运维手段 工欲善其事,必先利其器.上篇我们已经详细分享了监控相关的知识,然而运维可视化,除了构造可视化监控外,还要建立相应的运维手段,云化下的运维工具和传统架构的有较大不同,对集群式.分布式提出了更高的要求. 1.自动化巡检 从2011年开始推行巡检,最初,我们的武器仅仅是一个word文档.一些ex

80%的时间在救火,传统运维如何快速成长不被淘汰?

导读:自从<应对双11挑战,阿里巴巴自动化运维体系的演进和建设>文章发布以来,就引来了众多运维从业者的关注,大家不禁思考,无人化运维离我们有多远?我们如何成为运维领域的专家,不被淘汰?阿里巴巴运维中台技术专家宋意,整合了云效2.0运维产品StarOps,教大家如何利用工具把人从日常重复工作中解脱出来,向专业垂直领域纵深发展,逐步成长为领域专家. 从传统运维OD分离转型到新型运维DevOps,不是简单把运维丢给开发就可以了,需要先把运维的工作工具化,实现开发可以利用工具自助完成,DevOps强依

zookeeper运维

尽管zookeeper在编程上有很多的阱陷,API也非常的难用,但zookeeper服务本身可以说是很牢靠的了,所以在网上貌似关于运维的文章比较少. 但省心并不代表不会出麻烦,下面总结下zookeeper运维相关的东东. 重要的参考资料 这里有一个很好的Pdf,介绍了很多zookeeper的东东,作者是zookeeper的committer之一: http://www.infoq.com/presentations/Misconfiguration-ZooKeeper 另外,这里有一个总结:ht

运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1677211 运维经验分享作为一个专题,目前共7篇文章 <运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本> <运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化> <运维经验分享(三)-- 解决Ubuntu下cro

运维改革探索(一):用多层级监控实现可视化运维

作者介绍 朱祥磊,山东移动BOSS系统架构师,负责业务支撑系统架构规划和建设.获国家级创新奖1项.通信行业级科技进步奖2项.移动集团级业务服务创新奖3项,申请发明专利13项. 一.背景 当前运营商业务支撑系统正向云化发展,以某移动公司为例,近年先后进行了经分系统云化.大数据系统建设.BOSS云化,现正在进行CRM云化,同时构建企业级资源池.经过几年的探索,深刻感受到云化给业务支撑系统带来高效低成本的优点,但同时也对运维能力带来了更高的要求,针对传统架构下的运维管理模式已经越来越不适合云化下的要求

从 Java 应用部署方式看 IT 思潮——从开发和运维到开发自运维

前些日子,我还在西溪园区上班的时候,如果不是忙得不可开交,我都会在午饭的时候尽可能选择一个离所在办公楼远一些的食堂吃饭.因为午餐和晚餐是一天的工作中难得的两个「放风」时间,如果碰到了有趣的话题还能在路上和同事交流一二. 有一次,同事问了我一个问题:「为什么 Spring Boot 应用倾向于打 fat jar 直接启动,而集团的应用倾向于打 war 包从应用容器启动?」当时我从 IT 主流思潮的角度给了一个解释,大意为 Spring Boot 是 DevOps 时代的产物,集团大多数应用是 De

《IT运维之道》——13.2 中间件软件

13.2 中间件软件 随着网络和硬件技术的高速发展,大大地提高了计算机系统的处理能力.信息系统也由传统的C/S架构转变为B/S架构,大量的Web应用充斥在工作生活的每个地方,这些分布式应用程序大多数都是在网络环境的异构平台上运行,使得网络和分布式应用的开发.测试和移植中所投入的代价非常高.为了降低开发.集成和维护成本,具有前瞻性的系统开发商提出了中间件(middleware)这一概念,为集成系统的发展带来了革命性的变化. 中间件是一种独立的系统软件或服务程序,位于客户机.服务器的操作系统之与分布

《Puppet权威指南》——1.2 自动化运维工具箱

1.2 自动化运维工具箱 1.2.1 Cfengine Cfengine是一个借助C语言开发的.功能强大的自动化UNIX管理工具,最早出现于1993年.通过Cfengine可以轻而易举地管理客户端上的设备.Cfengine不仅运行成本低.效率高.功能强大,而且使用范围广.Cfengine可以管理各种环境下的设备,从一台到上千台服务器的集群均适用.如果运维工程师想同时修改2000台服务器的root密码,通过Cfengine可以轻松地在几分钟内实现.Cfengine还包含以下主要的功能: 检查和配置