richard.pogson@...) 2012-05-09, 13:01
Otis Gospodnetic 2012-05-09, 20:33
-Re: Solr Performance
Shawn Heisey 2012-05-09, 20:53
On 5/9/2012 7:01 AM, [EMAIL PROTECTED] wrote:
> We are testing an updated version of our Solr server running solr 3.5.0 and we are experiencing some performance issues with regard to updates and commits.
> Searches are working well.
> There are approximately 80,000 documents and the index is about 2.5 GB. This does not seem to be extreme based on other implementations I have seen.
There seems to be no such thing as typical. My 11.5 million document
indexes are nearing 21 GB. Your documents are huge when compared to
mine, but I'm sure that someone out there has even larger documents.
> An attempt to add a single document and commit is taking many minutes but the time taken is not consistent.
> Despite being in very light usage the java process seems to consistently require an entire CPU core.
> Optimising the index produced a limited improvement but this also takes a good deal of time to run.
> I am at a slight loss as to what the issue may be, I am interested in what others think would be a normal commit time with this sort of data volume.
> I am thinking there may be an issue with the schema but I am just guessing.
Frequent optimizes should be avoided. Optimizing is not inherently bad,
but it should happen during off hours, and index updates/deletes should
be suspended until the optimize is complete.
I believe it's fairly normal for a commit operation to use one core, at
least with 3.x. I have not yet used trunk, so I cannot say whether the
situation will be better on 4.0.
Without concrete information, I would guess that it's cache warming
that's making it go slow. You can see the total warmupTime on the
Statistics page in the admin GUI:
Once there, search the page for warmup. The first entries found (in the
Core section) will be the total warmup time for the entire searcher.
Searching further, you will find additional entries in the Cache
section, those will tell you which of the caches is taking the majority
of the warmupTime.
If it is indeed the warmup that is going slowly, you can make it go
faster by reducing the autowarm counts for your caches. If you find (as
I have) that even a small number of warming queries still goes slowly,
you'll need to see if you can identify the slow queries before they get
executed and use LocalParams options to not cache those queries.
If the total warmupTime is low, then you can ignore everything I've said
above and keep looking for the cause, in which case answers to the
following questions may be helpful:
How often are you updating your index? How many documents are in a
typical update? Are you using explicit commits, autoCommit, or perhaps
both? If autoCommit is enabled, what are the settings?
Another thing that results in very slow queries is not having enough
free memory to cache the majority (or entirety) of the index.
Lance Norskog 2012-05-09, 20:58
chris.a.mattmann@...) 2012-05-24, 13:55
Jack Krupansky 2012-05-24, 16:50
John 2012-07-22, 19:59
chris.a.mattmann@...) 2012-05-25, 11:08
Jack Krupansky 2012-05-25, 15:26
Surendra 2012-06-02, 10:35