我对solr比较陌生。 我有一个生产网站上运行VPS,但现在我有严重的负载问题。 我不知道从哪里开始,以减轻负荷
VPS规格(linode.com 512)
看起来像我的solr服务器(tomcat)正在使用大量的CPU电源

您可以在http://pastebin.com/qdfi8Med上find我的solrconfig.xml,在http://pastebin.com/rRusDP8b上find我的schema.xml
我试图增加caching大小,但这并没有做任何事情的负载。 你可以看到下面的统计页面。
编辑 – 因为截图不清楚,如果(我认为)是重要的,我会截取较小的截图。
Dismax查询处理程序统计信息

caching统计信息 


谢谢您的帮助!
根据我的经验,Solr是相当资源密集型的。 根据你的屏幕大小,你正试图在一台512MB内存的服务器上每秒处理21个请求。 很简单,你可能需要在这个问题上抛出更多的硬件来控制它。
首先,512MB只能用Tomcat运行Solr 3.6,Solr 4.0可能会崩溃。 我曾经在EC2 micro上运行Solr 4.0,它有613 MB RAM。 运行一个小的Solr站点是不够的(5-10 req / s)
要安全地运行Solr,您将需要1GB的linode。 但我推荐一个2GB的机器来顺利运行SOLR。
在我的1.6GB SMall EC2服务器上,我将SOLR最大内存设置为1.2GB,剩余的400MB用于操作系统caching以及monit,munin,ssh,apt-get,rsync,备份等其他小型服务。
这是我在我的.bashrc文件上设置的JAVA_OPTS:
export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/" export SOLR_HOME="/mnt/Solr/Home" export CATALINA_HOME="/mnt/Tomcat/Home" export LOGGING_CONFIG="-Djava.util.logging.config.file=/dev/null" unset JAVA_OPTS export JAVA_OPTS="$JAVA_OPTS -Xms1200m -Xmx1200m -server -d64 -XX:MaxPermSize=200m" export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true" export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/mnt/Solr/Home"
亚马逊EC2 CPU与Linode相比非常低,但是由于Solr几乎不使用CPU,而是使用了大量内存,所以我的性能非常好。您可以使用EC2中等大型Solr服务器。
PS。 另外我注意到你的截图,你有kswapd0进程logging了很多的CPU IO时间。 我有linode的问题,这是因为一个过时的内核。 你应该重新启动一个新的内核。