I have performance concerns and wanted suggestions which work best for Multi Core
or Multi Instance(with different port)
?
My Case First:
Currently I am running Solr with multiple cores and its running OK. There is only one issue that sometime it throws "out of heap memory while processing facets fields", after which I have to restart the solr. ( To minimize the no. of restarts, I starts the Solr with high memory : java -Xms1000M -Xmx8000M -jar start.jar )
I have amazon EC2 instance with 8core-2.8GHtz /15GB Ram with optimized hard disk.
I have many database-tables(about 100) and have to create different schemas for each(leads to create different core).
Each table has millions of documents, with 7-9 indexed fields and 10-50 stored fields per document.
My web portals should handle very high traffic (currently I m having 10 request/second, may increase to 50-100/second). I know 'Solr' can handle that but it is just to inform you that I am concerned about every-smallest performance issue
Searching Solr by PHP and CURL in to specific core, so there is no problem of searching on different Solr instance also.
Question:
As per my knowledge Solr handles one request at a time. So I think if I create multiple instance of solr and starts those at different port, then my web portal can handle more request at a time. (if user search in different table).
So, what you will suggest me? Multi Core in Single Solr Instance? or Multiple Instances with Single/Dual Core in each?
Is there any problem in having multiple Solr instances running at different ports?
NOTE: Here, I can/may/will combine less-searched-core(s)/small-core(s) in one instance AND heavy-traffic-core(s) in separate instance OR two-three-heavy-traffic-core in one-instance etc. Coz, creating different Instances for each table(~100 here) will take too much hardware resources.