Maybe i missed it, but skimming this thread i haven't seen any indication of how your configured the various caches in solrconfig.xml ... or any indication of what kinds of cache hit/miss/expullsion stats you see from stats.jsp after running any tests.
considering you're doing faceting on quite a few fields, the filterCache is somewhat important. -Hoss