solr - 性能调优 Solr 8.5.0 建议
问题描述
我需要一些技巧来尝试修复我在 Solr 拉集群上遇到的一些延迟峰值。
我们在 r5.8xlarge 上运行 SolrCloud 8.5.0,我们的 Solr 分为 3 个分片,每个分片大小约为 70GB,每个分片有近 1600 万个文档。它以 PULL 和 TLOG 分离运行,从 solrconfig.xml 我只使用 filterCache、queryResultCache 和 documentCache 被禁用。
在 solr.in.sh 我们有以下配置
SOLR_JAVA_MEM="-Xms150G -Xmx150G"
GC_TUNE="-XX:+UseG1GC -XX:+PerfDisableSharedMem -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=250
-XX:+UseLargePages -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -XX:MetaspaceSize=96M
-XX:+UnlockExperimentalVMOptions -XX:G1HeapRegionSize=32M"
和
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=-1"
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoCommit.maxTime=600000"
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoCommit.openSearcher=True"
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoCommit.maxDocs=50000"
SOLR_OPTS="$SOLR_OPTS -XX:UseAVX=2"
检查 GCEASY 上的垃圾收集日志,我可以看到我在“Humongous”分配中花费了太多空间,但我无法理解在哪里或是什么生成了这个“Humongous”,因为我只是使用带有 maxRamMB=" 的 filterCache 1536" ...我禁用了其他缓存,因为 documentCache 的命中率为 0.28,queryResultCache 为 0.028(我尝试在禁用它们之前增加这些缓存,但没有增加命中率)
我已经阅读了很多文件,现在我不知道我还能尝试什么......
解决方案
推荐阅读
- asp.net-core - 注册需要服务的中间件
- c++ - 程序错误地从文本文件中读取信息,看似从左到右,然后从右到左
- javascript - 我想计算上个月的所有值并将它们与当月进行比较
- ios - 当 AutoLayout 在调试控制台中记录无法满足的约束时,如何使我的应用程序崩溃?
- ruby-on-rails - 如何将一个初始化程序文件中定义的常量访问到 rails 中的另一个初始化程序文件?
- ios - Swift 5 中的自定义字体在 Xcode 10 中不起作用
- python - 统计多列子串的频率,得到阳性结果的列名
- c - 检查 C 中是否存在 .txt 文件
- ruby-on-rails - 如何使用 Rails 控制台将多个值添加到一列
- html - 如何使div中的所有位置元素居中