11.0
© 2014 ABBYY Production LLC. All rights reserved.
72
It is recommended to exclude memory and other bottlenecks that load the processor before diagnosing a bottle-
neck caused by a process.
Identify processes that occupy more than 80% of CPU time. If the length of the queue is more than 2 threads, the
bottleneck in operation of the system is probably caused by this process.
1. System: % Processor Time: _Total – time (in percentage of the whole working time) during which all pro-
cessors were busy. For one processor, it is equal to the counter Processor: % Processor Time. For multiple
processors, an average counter value is used. The counter measures how much time (in %) the system
spends processing Idle processes and subtracts this percentage from 100 %. The resulting value corre-
sponds to the percentage of time, the processor actually spent working on productive threads.
2. Processor: % Total Processor Time: - the same as System: % Processor Time, though measured for each
processor.
3. System: Processor Queue Length shows how many threads are ready in the processor queue, but not cur-
rently able to use the processor. Does not include a thread that is processed at the moment. Shows the cur-
rent (not an average) value. The counter value of more than 2 indicates a bottleneck.
Disk
1. LogicalDisk or PhysicalDisk: % Disk Time – indicates how busy the disk is (% of working time).
2. LogicalDisk or PhysicalDisk: Current Disk Queue Length – measures the number of the I/O transactions
that are waiting to be handled. Contains the current value (not an average). The counter value of more than 2
for a long period of time indicates a bottleneck.
3. Disk Bytes / sec: - the number of bytes transferred to the disk per second. The primary measure of the disk
performance.
4. Avg Disk Bytes / Transfer: - the average number of bytes transferred per read of the disk system. This is
an indicator of the disk efficiency. The higher the value, the better.
Network interface
1. Network Interface: Current Bandwidth – bandwidth of the network interface.
2. Network Interface: Bytes Total/sec – load of the network interface. If the load of the network interface is
75% or more of the bandwidth, then the network interface is a bottleneck. It is also worth comparing the load
with the base mode in which the work was stable.
3. Network Interface: Output Queue Length – network interface. If an average value of the counter is more
than two, it means that the network interface (or the capacity of the network infrastructure) cannot cope with
transferring data provided by the server. That is, server provides data at a faster rate than the network inter-
face is able to pass.
IIS
1. W3SVC_W3WP: Active Threads Count: FlexiCapture 11 Web Services – the number of active threads in
IIS.
2. WebService: Current ISAPI Extension requests: Default Web site (if the FlexiCapture Application Server
has not been transmitted to a different site by the user) – the queue of requests to be processed in IIS. If the
queue is significantly (2-3 times) larger than the number of active threads in IIS, then IIS is likely to be a bot-
tleneck. You should take into account that the bottleneck may also be the SQL Server that executes requests
for a long time causing the queue of requests to increase.
SQL Server
SQL Server has a large number of performance counters which can help you not only estimate the server load,
but also, for example, investigate the behavior in case of custom settings (non-optimal settings can increase the
load on the server which can be visible with the help of the counters).
We recommend using the main counter responsible for the server performance:
1. SQLServer: SQL Statistics: Batch Requests/Sec counter – this counter measures the number of batch
requests received by SQL Server per second and allows you to monitor the load of processors in the server.
In general, more than 1000 batch requests per second tells of a very high load on the SQL Server and may
mean that if you have not experienced a shortage of CPU resources, you may run into it in the near future.
Of course, this number is relative, and the more powerful hardware you have, the more batch requests per
second can be handled by SQL Server.
In terms of network bottlenecks, a typical network card with a capacity of 100 Mb/s can only handle about
3000 batch requests per second. Under similar loads, you may need to switch to a network card with capaci-
ty of 1 Gb/s.










