Why does the TEM Client appear to read so many bytes from the hard disk?

111; IO Read Bytes; performance; TEM Client; Client; Performance

Technote (troubleshooting)

Problem(Abstract)

One of the greatest features of TEM is its ability to report results very quickly while using few system resources.

Resolving the problem

In order to achieve this, the TEM Client is constantly checking relevance expressions in Fixlet messages to see if they are relevant. There are several hundred Fixlet messages that check for tens of thousands different files, registry keys, system information, etc..

The TEM Client is optimized to run in a way that has a negligible affect on the system performance. The memory footprint, cpu usage, etc. are all very low. Also, the TEM Client responds well to computers that are currently in use by "taking a back seat" if another process is taking a lot of system resources.

The performance monitor is indicating that the TEM Client is reading files at the rates that you are indicating. Included in the "IO Read Bytes" metric is the file version checks, registry accesses, etc. mentioned above. This is normal usage and you will see similar results on most computers that you install the TEM Client on.

The constant reading the number of bytes might seem like it would slow down a computer; however, there is a subtle issue in the way that perfmon.exe reports the "IO Read Bytes" statistics. Instead of reporting physical disk accesses, the "IO Read Bytes" reports all accesses including accesses to the file system cache. The file system cache is much faster than actually reading information from the physical hard disk so that reading tens of thousands of bytes per second is essentially a "free" operation in the sense that it has a negligible performance cost to the computer.

To verify the information, you can open the performance monitor and add the "File Read Bytes/sec" under the "System" performance object. On an idle computer, you will see that this number is probably close to the "IO Read Bytes/sec" for the BESClient process. (Note that the explanation for the "File Read Bytes/sec" says that this metric includes accesses to the File System Cache.) Now add the "Disk Read Bytes/sec" under the "PhysicalDisk" performance object. You should see that this number is 0.000 which indicates that no expensive disk accesses are slowing down your computer.