The Mindbreeze appliance offers a lot of versatility with the setup options it offers: indices, filters, client services, etc. However, trying to do too much on a single appliance can start to affect its overall performance, especially the memory usage. This article will go over some of things that you can do to help keep the memory usage of your appliance within acceptable levels. The biggest user of memory within Mindbreeze are the document filters. Each active filter will consume up to 10 GB of memory which will be a good chunk of the overall memory of the entire appliance. Our suggestions are to keep the number of filters at an absolute bare minimum. If you need to have more than one or two filters, then decreasing the maximum amount of memory used by each filter is necessary. Decreasing the memory per filter will increase the amount of time it would take to index and prepare documents, but not drastically. Another recommendation is to keep the number of active client services fewer than 10. There is not much tuning that can be done to the client services, so the overall number that are active is the main method to control the memory usage of these components.
The other main aspect to help keep the memory usage in check is the indices, specifically the crawling schedules within the data sources. By default, each data source will have five threads that are used to crawl a site. Each thread will consume some memory to run and process items that it finds. The goal here is to compile an overall schedule for all data sources across all indices and see if there are periods where there are many data sources crawling at one time. If there are, then use the “Scheduling” feature of the data source to spread out the load on the appliance. For example, having something start during non-working hours or over the weekend would be ideal. This can be a lot to manage initially, but it’s worth it in the long run. The last topic is log pools. For all of the log pools in the appliance, Mindbreeze will keep a certain amount of information within memory before pushing it into the database. Typically, this value is 30 minutes. Depending on how heavily your appliance is being used, this can translate into a very large amount of data. Trimming this down to around 10 minutes can help to free up a nice chunk of memory as well. Fishbowl is always available to help you with memory-tuning your appliance. If you need assistance, don’t hesitate to reach out to us. For more information about Mindbreeze, check out our Enterprise Search Blog, Consulting Services for Mindbreeze, and our Mindbreeze Support page.