我们正在使用Solr Cloud 6.5.0并设置3台服务器 服务器有62 GB RAM,30 GB数据 这个设置运行良好一段时间,但在3或4周后它变得非常慢 我们重新启动服务器它再次正常工作,一段时间后它再次变慢 我检查服务器上的IO和负载因素,一切都很好 此外,当我们在主从设置中使用具有相同数据的相同机器时,根本没有问题 以下是配置统计信息:
solr/nspec 6.5.1
lucene/nspec 6.5.1
Oracle Corporation Java HotSpot(TM) 64/nBit Server VM 1.8.0_20/nea 25.20/nb05
Processors 12
Duser.timezone=UTC
DzkClientTimeout=15000
XX:+CMSParallelRemarkEnabled
XX:+CMSScavengeBeforeRemark
XX:+ParallelRefProcEnabled
XX:+PrintGCApplicationStoppedTime
XX:+PrintGCDateStamps
XX:+PrintGCDetails
XX:+PrintGCTimeStamps
XX:+PrintHeapAtGC
XX:+PrintTenuringDistribution
XX:+UseCMSInitiatingOccupancyOnly
XX:+UseConcMarkSweepGC
XX:+UseGCLogFileRotation
XX:+UseParNewGC
XX:
OmitStackTraceInFastThrow
XX:CMSInitiatingOccupancyFraction=50
XX:CMSMaxAbortablePrecleanTime=6000
XX:ConcGCThreads=4
XX:GCLogFileSize=20M
XX:MaxTenuringThreshold=8
XX:NewRatio=3
XX:NumberOfGCLogFiles=9
XX:ParallelGCThrea
ds=4
XX:PretenureSizeThreshold=64m
XX:SurvivorRatio=4
XX:TargetSurvivorRatio=90
Xms4096m
Xmx4096m
Xss256k
verbose:gc
ramBufferSizeMB=200
maxBufferedDocs=10000
maxMergeAtOnce=10
segmentsPerTier=10
autoCommit
maxDocs=100
maxTime=8000
autoSoftCommit
maxDocs=25
maxTime=5000
maxBooleanClauses=024
slowQueryThresholdMillis=500
filterCache class="solr.FastLRUCache size="4096" initialSize="512" autowarmCount="1024"
queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="256"
enableLazyFieldLoading=true
queryResultWindowSize=100
queryResultMaxDocsCached=200
答案 0 :(得分:1)
您的问题可能是filterCache
。
autowarmCount
非常高,maxDocs
和autoCommit
的{{1}}非常低:每次添加100个文档时,最多会执行1000次搜索将autoSoftCommit
设置为低(100左右)并对filterCache
(10左右)执行相同操作。还要考虑您的autowarmCount
- 设置是否可以降低攻击性。