You may wish to consider some refinements regarding the number of pages in your batches, which can have quite a big effect on performance. For example, in benchmark tests, 1000 pages per batch showed a 13% drop in throughput as compared to 100 pages per batch and this drop increases, the more pages there are. At the other end of the scale, lots of very small batches, e.g. 10 pages or less, can also cause degradation. Reasons for this are explained in the Performance Guide (p22). As a guideline, for the majority of batches on any InputAccel server, 100 pages per batch is recommended. Between 10 and 100 or between 100 and 1000 may give reasonable results, but above 1000 or below 10 is not recommended.
As well as being periodically purged, the InputAccel Database must be defragmented and reindexed to optimize performance.
Depending on the volume and type of processing, periodically defragmenting and rebuilding indexes in the InputAccel Database may help prevent application performance degradation. The InputAccel Database installer installs the two stored procedures below into the SQL Server to perform these functions on a small set of pre-selected tables. Use these stored procedures in conjunction with SQL Server scheduled job functionality to defragment and rebuild indexes on a regular basis:
up_ReorganizeIndexes: Defragments all of the indexes in the pre-selected set of InputAccel Database tables.
up_RebuildIndexes: Rebuilds all of the indexes in the pre-selected set of InputAccel Database tables.
Are you planning on running Reports in Production environment?
For optimal performance, avoid running reports that use complex queries against large tables, which can put significant time
and load on the database. If you need to run them, whenever possible, run reports outside of peak production times, as
they can tie up the report tables long enough to begin affecting InputAccel Database performance which will degrade InputAccel Server throughput.
Do you use Timer to schedule when batches are deleted? To avoid major problems with the IA Server you must run Timer during off-peak hours. The reason is that it forces the IA Server to load every batch and read their IA Values. This puts a huge strain on the IA Server.
The SQL Server writes all transactions to the transaction log. The size of the transaction log can impact the performance of the InputAccel Database negatively. Consider storing the transaction log on a separate drive controlled by a different disk controller for improved performance.
Could Trigger Levels in process effect performance?
The decision about trigger levels depends a lot on your business case, demands etc. There are always advantages and disadvantages for using Low triggers or high triggers. In some cases, the module itself dictates the trigger level. For example, Image Processor can only be triggered at level 0. However, there are cases where you have a choice of trigger level. In cases where you have a choice to select the trigger level, consider the advantages and disadvantages and architect your process steps carefully for optimal performance.
Is the access to your Recognition project slow? Do you have lots of data in your Recognition project that your modules have to download from a UNC path each time they are started or a task changes the project? If so take a look at the localcache option in the Captiva Documentation that will allow a local cached copy of your project to exist!
It is possible to improve the performance of client side modules by changing the value of the prefetch.
This value tells the InputAccel Server how many additional tasks to send to the client module in addition to the task that the server was already planning to send. Increase this value to prefetch more tasks. One reason to increase it would be if you have extremely fast processing tasks (e.g. just milliseconds per task). In that case, you can end up with the module waiting for tasks because it is processing them faster than the server can send them.
To change the prefetch value go to the Settings.ini file located on the client machine in the %ALLUSERSPROFILE%\EMC
\InputAccel folder and add PrefetchDefault = n (default = 2).
Is your IA Server running slow? Have you checked the state of your reporting engine lately? Reports have the biggest effect on the performance of the IA Server and Database. First see if only the reports you want are being run on a regular basis. Then check that the corresponding purges are setup and are running by checking the DAL logs. Finally run a row count against all the reporting tables and do a comparison a week or month later and make sure none of the tables are growing unbounded.
The InputAccel Server can hold between 50 – 500 batches in memory at the same time. The number of batches it can hold depends on batch size, available RAM, and other variables. When there are more active batches than the InputAccel Server can hold in memory, the server must load and unload batches more frequently and must manage a larger list of batch and task information. The more active batches therefore, the more the InputAccel Server throughput degrades.