On 4/12/2012 8:42 PM, Rohit wrote:
The machine has a total ram of around 46GB. My Biggest concern is Solr index 
time gradually increasing and then the commit stops because of timeouts, out 
commit rate is very high, but I am not able to find the root cause of the issue.

For good performance, Solr relies on the OS having enough free RAM to keep critical portions of the index in the disk cache. Some numbers that I have collected from your information so far are listed below. Please let me know if I've got any of this wrong:

46GB total RAM
36GB RAM allocated to Solr
300GB total index size

This leaves only 10GB of RAM free to cache 300GB of index, assuming that this server is dedicated to Solr. The critical portions of your index are very likely considerably larger than 10GB, which causes constant reading from the disk for queries and updates. With a high commit rate and a relatively low mergeFactor of 10, your index will be doing a lot of merging during updates, and some of those merges are likely to be quite large, further complicating the I/O situation.

Another thing that can lead to increasing index update times is cache warming, also greatly affected by high I/O levels. If you visit the /solr/corename/admin/stats.jsp#cache URL, you can see the warmupTime for each cache in milliseconds.

Adding more memory to the server would probably help things. You'll want to carefully check all the server and Solr statistics you can to make sure that memory is the root of problem, before you actually spend the money. At the server level, look for things like a high iowait CPU percentage. For Solr, you can turn the logging level up to INFO in the admin interface as well as turn on the infostream in solrconfig.xml for extensive debugging.

I hope this is helpful. If not, I can try to come up with more specific things you can look at.

Thanks,
Shawn

Reply via email to