ouzhoudijie 发表于 2018-11-2 06:15:01

Solr JVM&运维

  1.GC的选择
  4core、8gmemory首选cms,cms的各参数的调节需要观察。
  2.swap配置
  性能优先,建议关掉。关掉的代价需要评估。关掉之后buffer/cache等变化需要观察!
  3.newSizemaxnewsize尽量小并且值相同,PermSize与maxPermSize
  值也相等,尽量小
  4core、8g在1024m左右既可以
  4.xmsxmx值相等,能小尽量小,节省内存给额外进程。单进程,不妨开大些
  8gmemory分配jvm在6g左右既可以
  5.solrcache的参数配置,务必谨慎
  cache参数只针对一个cache对象而说,而searcherhanlder层的cache无法控制上限,往往导致oom
  fieldvaluecache的配置和warm对内存消耗、性能影响比较明显
  filtecachedocuementcache明显与查询请求特征相关
  如果请求量足够大,建议不配置cache,系统自身在快的过程中省出内存
  6.句柄追踪
  /usr/sbin/lsof|grepdeleted
  solr句柄发生点:索引同步、索引core切换
  7.load追踪
  死循环导致load高,topshift+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超时等。

页: [1]
查看完整版本: Solr JVM&运维