l Best
Slave Beugelbikini usearchl Best
Auml Strandmode (replication)和分片(sharding)(Scale
Deep)
当你的数据量足够大,你需要同时使用复制和分片,那么每个分片将对应一个master和若干slave,这将是一个最复杂的架构。
我们将会对三个性能参数进行优化:
l TPS(Transaction Per Second) 每秒事务处理量,可以查看solr/mbtracks/admin/stats.jsp或者查看requesHandler的avgTimePerRequest和avgRequestsPerSecond参数。
l CPU Usage CPU使用情况,在Windows下可以使用PerfMon获得CPU使用的相关信息,而在Unix类操作系统上使用top。
l Memory Usage 内存使用情况,可以使用PrefMon、top和jConsole来查看。
接下来将会介绍对于Solr的scaling。
Solr提供了一系列可选的配置来增强性能,具体怎么使用将取决于你的应用程序。下面将对其中最常用的进行介绍
Solr运行在JVM之上,因此对JVM的调优将直接影响Solr的性能,不过对于JVM参数的改变要慎重,因为,很可能一丁点改变会引发很大的问题。
可以在启动的时候指定JVM参数:
java -Xms512M -Xmx1024M -server -jar start.jar
你的Xmx参数应当为你的操作系统以及运行在服务器上的其他进程预留足够的内存,比如你有4G的索引文件,你可以指定6G的RAM(并指定较大的缓存)那么你就能取得比较好的性能。
另外,在可能的情况下,尽量使用版本较高的Java版本,因为新版本的Java虚拟机性能越来越好。
因为Solr的许多操作都是基于HTTP的,因此Solr对HTTP缓存有很大的支持。如果你想使用HTTP缓存,那么你需要在solrconfig.xml中做如下配置:
<httpCaching lastModifiedFrom="openTime" etagSeed="Solr" never304="false">
<cacheControl>max-age=43200, must-revalidate</cacheControl>
</httpCaching>
默认情况下,Solr是不使用304 not modified状态给客户端的,而是始终返回200 OK,上面的配置指明max-age是43200秒。下面是例子:
>> curl -v solr/mbartists/select/?q=Smashing+Pumpkins
< HTTP/1.1 200 OK
< Cache-Control: max-age=43200
< Expires: Thu, 11 Jun 2009 15:02:00 GMT
< Last-Modified: Thu, 11 Jun 2009 02:55:39 GMT
< ETag: "YWFkZWIyNjVmODgwMDAwMFNvbHI="
< Content-Type: text/xml; charset=utf-8
< Content-Length: 1488
< Server: Jetty(6.1.3)
很显然,HTTP缓存配置生效了,那么,我们也可以指定If-modified-since参数,这样服务器会比较,如果在最新更改时间之后,那么服务器会返回最新数据。
>>curl -v -z "Thu, 11 Jun 2009 02:55:40 GMT"
solr/mbartists/select/?q=Smashing+Pumpkins
* About to connect() to localhost port 8983 (#0)
* Trying ::1... connected
* Connected to localhost (::1) port 8983 (#0)
> GET /solr/mbartists/select/?q=Smashing+Pumpkins HTTP/1.1
> User-Agent: curl/7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3
OpenSSL/0.9.7l zlib/1.2.3
> Host: localhost:8983
> Accept: */*
> If-Modified-Since: Thu, 11 Jun 2009 02:55:40 GMT
>
< HTTP/1.1 304 Not Modified
< Cache-Control: max-age=43200
< Expires: Thu, 11 Jun 2009 15:13:43 GMT
< Last-Modified: Thu, 11 Jun 2009 02:55:39 GMT
< ETag: "YWFkZWIyNjVmODgwMDAwMFNvbHI="
< Server: Jetty(6.1.3)
Entity tag也是一种新的方法来进行鉴别,它比使用last modified date更加的强健和灵活。ETag是一个字符串。在Solr的索引更新以后,当前的ETag会随之改变。
Solr为缓存使用了LRU算法,缓存存放在内存中,缓存和Index Searcher关联在一起,维持了一个数据的快照(a snapshot view of data).在一个commit之后,新的index searcher打开,并会自动预热 lAuml Bestnewslave X Best New Slave Porn Lt Badmode En Strandmode Bikini T L Shape Beugelbikini Best New Slave Scaling Solr(Solr的扩展) - forchenyun【十年磨剑】 - ITeye技术网站t q z M.tube8.com s s Sexy 0 1 zAuml Bestnewslave X Best New Slave Porn Lt Badmode En Strandmode Bikini T L Shape Beugelbikini Best New Slave Scaling Solr(Solr的扩展) - forchenyun【十年磨剑】 - ITeye技术网站h %D1%C7%D6%DE%B3%C9%C8%CB%D4%AD%B4%B4%20sexinsex%20board