System Monitoring and Bottleneck Detection

System monitoring includes:

  • Document processing monitoring via the Administration and Monitoring Console;
  • Hardware monitoring for each FlexiCapture server component using various Windows Performance Monitor counters.

You can perform hardware monitoring of the entire System using the free Web Performance Monitor application, the more powerful Microsoft System Center Operations Manager, or similar tools.

These are key parameters to keep track of on every computer, no matter its role inside FlexiCapture:

Note: A shortage of just one resource may lead to an overload on any component, e.g. a shortage of RAM may lead to a very intensive use of the hard drive. This is why the order you investigate parameters to find a bottleneck matters. Please follow the pattern as in the table.

  1. Memory

When the Memory\Available Bytes counter (the memory not occupied by running processes and a hard disk cache) is constantly low, while the Memory\Pages/sec counter (the number of memory pages requested from the hard drive or uploaded to the hard drive to release more RAM) is constantly changing, it is likely that the computer has insufficient RAM.

The Process(<All instances>)\Working Set counters show the number of memory pages allocated to each process.

  • Each process may withhold a large amount of memory and the total available memory may be low – but this does not mean a memory shortage in the System.
  • However, if you see that several processes enlarge their working sets and some others slightly shrink them, the available amount of memory is low and the pages/sec counter constantly spikes, this is likely to be a RAM bottleneck.

Note: 32-bit processes can’t allocate more than 2GB of RAM even if there is a lot of available RAM in the System.

For details, see Microsoft web site.

  1. CPU

When the Processor(_Total)\% Processor Time counter (the percentage of time the processor is busy) shows more than 80% for significant periods of time, and the System\Processor Queue Length (the number of threads in the CPU queue) counter exceeds double the number of CPUs, then the CPU is most likely causing a bottleneck.

For details, see Microsoft web site.

The Process(<All instances>)\% Processor Time counter will help determine which processes are “eating up” the CPU time.

  1. Hard disk

When checking the hard disk, make sure the System has enough RAM (see the Memory column above).

The LogicalDisk(<All instances>)\Free Megabytes counter shows the free space on a logical disk. If the free space is not enough, System performance will drop significantly.

When the PhysicalDisk(<All instances>)\% Disk Time counter (the percentage of time the disk spends on processing read-and-write requests) shows more than 90%, and the PhysicalDisk(<All instances>)\Avg. Disk Queue Length counter (the average number of requests in the queue and in progress during the monitoring period) constantly shows more than 2 per hard drive thread, then the hard disk probably causing a bottleneck.

For details, see Microsoft web site.

  1. Network

When the Network Interface(<All instances>)\Output Queue Length counter (the number of outgoing network packets in a queue) constantly shows more than 2, the network adapter is most likely waiting for the connection, delaying requests from the server.

When the Network Interface(<All instances>)\Packets Outbound Discarded counter is constantly growing, the channel is so overloaded that the buffer of the network adapter cannot handle all of the outgoing requests.

When the Network Interface(<All instances>)\Bytes Total/sec counter (the amount of information passing through the NIC) makes 65% (or more) of the Network Interface(<All instances>)\Current Bandwidth (the available NIC bandwidth), use a channel with a higher bandwidth, or segment the network to minimize conflicts in the channel.

Machine Role Counters to watch
Application Server

The Application Server is a web service on IIS served by w3wp.exe processes. The CPU time and amount of memory used by instances of these processes should be supervised. The data connection network (DCN) load on a computer with the Application Server is worthy of special attention.

Use these counters to keep track of IIS loads:

  • Web Service(Default Web Site)\Bytes Received/sec;
  • Web Service(Default Web Site)\Bytes Sent/sec.

When they display more than 65% of the available DCN bandwidth, use any of these solutions:

  • increase the bandwidth;
  • segment the network;
  • add more computers running IIS, and balance the loads.

When the value of the W3SVC_W3WP(_Total)\Active Threads Count counter (the number of threads servicing requests) reaches the value of the W3SVC_W3WP(_Total)\Maximum Threads Count counter (the maximum number of threads available for servicing), the IIS is heavily overloaded.

Use these counters to keep track of current activity spikes with comparison to previous activities:

  • W3SVC_W3WP(_Total)\Active Requests (the number of active requests);
  • W3SVC_W3WP(_Total)\Requests/sec (the request processing rate);
  • Web Service(Default Web Site)\Current Connections (the number of active connections between clients and the web service).
Processing Server

The Processing Server is a Windows service – the FlexiBrSvc.exe process.

FlexiCapture(Processing Server)\Cores Count indicates the total number of processing CPU cores on all Processing Stations in the Started state.

FlexiCapture(Processing Server)\Free Cores indicates the total number of available processing CPU cores that are not processing anything. This counter helps determine whether there are enough processing CPU cores in ABBYY FlexiCapture.

Some cores are always free while there is a queue at automatic processing stages. This may happen because:

  • Some processing stations are configured to process a dedicated type of tasks and when they are free, there is insufficient processing power for other types of tasks;
  • The Processing Server experiences a bottleneck -
    • Check for a shortage of RAM, CPU, hard drive or network resources on the Processing Server machine,
    • Enlarge the size of the task, as processing cores process tasks too quickly and the Processing Server fails to distribute tasks between them (see for more details).

FlexiCapture(Processing Server)\Pending Tasks indicates the number of tasks requested from the Application Server but not assigned to any of the Processing Stations. Such tasks appear in the Processing Server Monitor with the Pending status.

Note: The whole queue of tasks waiting for processing can be viewed only at the Monitoring & Administration Console.
Its value should not exceed double the number of available cores (Cores Count). If the number of pending tasks is constantly growing, this means either particular processing options on some Stations are disabled, or there are some communication errors between the Station and the Server: the latter considers some stations to be live but is not able to deliver a task to them.

Licensing Server

The Licensing Server is a Windows service – the LincensingService.exe process.

You may use the COM object of the Licensing Server to monitor statuses of licenses, but in most cases there is no useful data there for System performance.

Keep an eye on memory consumption – it may grow with a number of concurrent clients in the System. Consider adding more Licensing Servers to the System when memory consumption is high and you need more clients.

Database Server In addition to the standard System monitoring counters (see above), you can also use counters that show data on a specific database. For details, see the documentation for the Database Server.
FileStorage For the hard disk as a FileStorage use the standard System monitoring counters (see above). If you are using a SAN or NAS, see your hardware documentation for details.
Processing Stations Use standard System counters to monitor Processing Stations.

4/12/2024 6:16:02 PM

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.