Hi All, Our Solr is bottlenecking on write performance (uses lots of cpu, writes queue up). Looking for some tips on what to look into to figure out if we can squeeze more write performance out of it without changing the setup too drastically.
Here's the setup: * Solr 8.2 (I know, could be upgraded to 8.11 or later but I don't think I have seen significant changes that could impact the performance in changelogs) * Replica setup (one node is responsible for indexing, other nodes are replicating every 10 minutes). Indexing node runs on 8 cores, 16G of RAM. * 9 different cores. Each weighs around ~100 MB on disk and has approximately 90k documents inside each. * Updating is performed using update method in batches of 1000, around 9 processes in parallel (split by core) * Setup is pretty straight forward, no magic string processors, setup is quite default, just some field types are defined in core configuration and only a few ids are stored. The problem: * It currently takes around 3 hours to process updates for all documents on a machine with 2 cores and 8 gigs of RAM. My gut-feeling assumptions: * Since total index size is quite small (around 1G in total or less on disk) and machine doing the indexing is quite powerful I would assume indexing (updating) should be quite fast (probably <10 mins for all documents). However it's far longer than that and we are probably doing something wrong. What am I looking for: * Idea what might cause this? * Common things to check/tips for write performance, maybe some reading material? * Measuring write performance, e.g. maybe there are some ways to see what takes time on Solr side on monitoring to narrow down on what actually takes time? Sorry if I misused some Solr term. Thank you for your tips / insights in advance. Marius
