To add additional comment to David's post is that when you use the Send to Production copy of Dispatcher Project it is a subset of the full Project. This only has the parts of the project that is needed. So, by using this copy the Dispatcher modules have less to load and manage in memory.
Did you know that idle batches could cause performance degradation as well?
Make sure that you have rule setup to delete the batches from the server once they are done.
To understand the impact of idle batches on the server, it is important to learn about how the InputAccel Server loads batches in memory:
2. Some client module operations require InputAccel Server to load every batch. Loading every batch means the InputAccel Server must first unload some other batch to make room for the batch being loaded, then load the batch. When this occurs, InputAccel Server throughput is significantly degraded.
The more idle batches that you have, the more the throughput degradation.
A convenient way to monitor the performance of the IA Server is to use the performance counters that are bundled with IA. These can be used with Microsoft's Performance Monitor. Select from the following objects to monitor:
This is documented in the Help Guide but some of the items that can be logged are:
Have you considered running IAS on Physical machine?
It has been observed that if you are running IAS service on a Virtul machine then there is a performance degradation.
The benchmark test when using same hardware while running on Physical vs VM has showed a 27% reduction in InputAccel Server throughput when using the virtual machine. It's a best practice to run your IAS on a physical machine.
Taking this a step further, if you want a very fast server give it access to a very fast IAS folder. The faster disk access to the IAS folder the faster the IA Server. It has been shown in some implementations where a SSD (Solid State Drive) for the IAS folder can increase performance of the IA Server by 100%.
You may ask yourself "how do I know if I have my IA Server is sized correctly". A great tool is the "Captiva Capture Batch and Process Modeler.xlsm" spreadsheet that can determine the number of tasks/hour the IA Server has to process. Once this is known then you can use the recommendations in the Performance Tuning Guide to determine the number of CPU cores.
Do you have a copy of the "Captiva Capture Batch and Process Modeler" file?
Did you know that you can conditionally set the value of a department or profile within your capture flow? This helps to streamline processes, reducing the number of steps needed and, in turn, improves performance.
Where possible use Automatic and HPA templates for optimum performance of your Recognition project.
Classification performs fastest with Automatic and HPA templates. Text matching and keyword templates are significantly slower.
Do you have large volume of pages to process?
If the answer is yes, you might want to use the scaleserver. Using two (or more) IAS server will provide improved performance because each InputAccel Server machine will have its own memory and disk resources. All the client/server transactions will be divided between the two InputAccel Servers. The two servers could be configured as a ScaleServer group to make them appear like a single server to the client modules.