solr的缓存机制及调优方法
solr缓存大小的调整 1.缓存调的越大越好? 错误的 如果把内存大量的都给了solr那么操作系统的内存就会变小,操作系统可以利用空闲的内存提升io的效率,操作系统本身也有缓存 oscache,solr通过id来获取doc的时候如果可以命中oscache不发生磁盘的读写也会极大的提升速度; 大内存也可以是大垃圾,当大量内存不被命中的时候就是垃圾,而且这些垃圾会触发jvm的GC操作,GC的时候会降低整个系统的效率 查看缓存的命中情况 cumulative_hitratio: 是一个0〜1之间的数,代表请求命中缓存的百分比。 cumulative_inserts: 在缓存的整个生存期中,有多少缓存实体对象被加入的缓存当中。 cumulative_evictions: 在缓存的整个生存期中,有多少缓存实体对象从缓存中被移除。 最终衡量缓存性能的是命中率。你需要做实验调整缓存大小,但时刻要关注命中率,看命中率是不是越来越高。下面是调整缓存大小的一些提示: 如果发现cumulative_evictions比cumulative_inserts高一些,那么可以试着增加缓存大小,观察命中率,有可能是因为缓存实体被移除得太快了。 如果发现缓存的命中率很高,而且cumulative_evictions值很小,那么说明缓存大小设置有点大了。试着减少缓存大小,观察命中率,直到命中率有变化。