首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >优化EC2 debian实例上的Solr 4

优化EC2 debian实例上的Solr 4
EN

Stack Overflow用户
提问于 2013-05-13 19:43:05
回答 1查看 1.1K关注 0票数 1

我的Solr 4实例很慢,我不知道为什么。我试图修改JVM、Tomcat6和Solr 4的配置,以优化性能,以每秒查询作为关键指标。目前,我正在使用Debian挤压的EC2 small层运行,但如果需要,可以切换到Ubuntu。

我的用例没有什么特别之处。指数很小。查询确实包括一定数量的工会(例如10),加上面见,但我不认为这是不寻常的。

我的理解是,这些领域可能需要调整:

  • 配置JVM垃圾收集计划和内存分配("GC调优是一种精确的艺术形式“,参考)
  • 其他JVM设置
  • Solr的查询结果缓存、筛选缓存、文档缓存设置
  • Solr的自动升温设置

有几种方法可以监测Solr的性能:

但是,这些方法都没有指明哪些设置需要调整,而且我也不知道这方面的指南,没有详细列出可能提高性能的设置列表。我查看了下面的页面(),并在没有改进的情况下经历了几轮尝试和错误。

问题:

  • 如何告诉JVM使用小EC2实例上的所有2GB内存?
  • 如何调试和优化JVM垃圾收集?
  • 我如何知道当I/O节流,如新的EBS IOPS定价,是问题?
  • 使用下面的NewRelic示例,如何检测什么是有问题的行为,以及如何处理解决方案。

答案:

  • 我正在从DevOps或服务器管理的角度寻找用于设置和优化Solr 4的良好文档的链接(而不是索引或应用程序设计)。
  • 我在找catalina.sh,solrconfig.xml,solr.xml (其他?)最麻烦的地方。这很可能是问题的根源。
  • 或者你认为能解决问题的任何技巧。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-14 15:10:19

首先,您不应该专注于切换linux发行版。不同的发行版可能会带来一些更改,但考虑到您提供的信息,没有什么可以证明这些更改可能是重要的。

你提到了很多的可能性,你的优化,这可能是压倒性的。只有在证明问题存在于堆栈的特定部分之后,您才应该考虑调整区域。

JVM堆大小

您可以使用参数-mx1700m向JVM提供最多1.7GB的内存。Hotspot可能不需要它,所以如果堆容量没有达到这个数字,不要感到惊讶。

您应该将最小堆大小设置为一个较低的值,以便Hotspot可以优化其内存使用。例如,若要将最小堆大小设置为128 to,请使用-mx128m

垃圾收集器

根据您的说法,您有有限的硬件(1核最大为1.2GHz,参见此页)

M1小实例

  • 1.7 GiB内存
  • 1个EC2计算单元(1个虚拟核和1个EC2计算单元)
  • ..。

一个EC2计算单元提供相当于1.0-1.2 GHz 2007 Opteron或2007 Xeon处理器的CPU容量

因此,使用低延迟GC (CMS)不会有任何好处。它不能与应用程序同时运行,因为您只有一个核心。您应该使用-XX:+UseParallelGC -XX:+UseParallelOldGC切换到Throughput。

,GC真的是个问题吗?

要回答这个问题,您需要打开GC日志记录。这是查看GC暂停是否对应用程序响应时间负责的唯一方法。您应该用-Xloggc:gc.log -XX:+PrintGCDetails打开这些。

但我不认为问题就在这里。

是硬件问题吗?

要回答这个问题,您需要监视资源利用率(磁盘I/O、网络I/O、内存使用情况、CPU使用情况)。你有很多工具可以这样做,包括topfreevmstatiostatmpstatifstat,.

如果您发现其中一些资源已经饱和,那么您需要一个更大的EC2实例。

是软件问题吗?

在您的统计中,文档缓存命中率和筛选器缓存命中率是正常的。但是,我认为查询结果缓存命中率很低。这意味着许多查询操作。

您应该监视查询执行时间。根据该值,您可能希望增加缓存大小或优化查询,以减少查询时间。

更多链接

  • JVM选项参考:http://jvm-options.tech.xebia.fr/
  • 我对一些应用程序性能审计的反馈:http://www.pingtimeout.fr/2013/03/petclinic-performance-tuning-about.html

希望这能帮上忙!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16529884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档