Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

Performance Monitoring Using the SnapShot API

FairCom Server configuration options provide an easy way to enable automatic performance snapshots. Additional flexibility and access to the complete set of statistics maintained by the FairCom Server is available programmatically through the SnapShot c-tree API function. This API function:

  • Controls automatic snapshots, overriding configuration options (if any).
  • Writes snapshots to the SYSLOG files on demand, whether or not automatic snapshots are active.
  • Writes system snapshots in human-readable form to SNAPSHOT.FCS.
  • Returns snapshot data on-demand to the calling application program.

Tips for Performance Monitoring with SnapShot

The SnapShot API provides a wealth of detailed information concerning may aspects of the system. The following system counters (ctGSMS) are particularly useful for overall performance monitoring.

ISAM counters

The ISAM counters provide a good indication of how much work is being requested (unless there are lots of low-level API calls in your application). Higher level APIs, such as c-treeDB and SQL, are also reflected here.

  • sctismredcnt - ISAM record read count
  • sctismupdcnt - ISAM record update count
  • sctismaddcnt - ISAM record add count
  • sctismdelcnt - ISAM record delete count

Current lock counts

The current lock counts show the lock contention at any given instant. Similar counters are available with cumulative counts.

  • LONG8sctlokcur; - current count of locks held
  • LONG8sctblkcur; - current count of blocked requests

Cache counters

The cache counters are a good indication of how much CPU work c-tree is doing. A single ISAM record search by key must find several index cache pages and at least one data cache page. Likewise, an ISAM add must find at least 1 data cache page and at least 1 index cache page per associated index. requests - hits = cache misses, which means that system I/O call(s) were needed.


For the indices, these only counts cache searches (locating the desired cache page). Some operations (NextKey or NextRecord) can sometimes skip the cache search.

  • LONG8sct_dbrqs; - data buffer requests
  • LONG8sct_dbhit; - data buffer hits
  • LONG8sct_ibrqs; - index buffer requests
  • LONG8sct_ibhit; - index buffer hits

System I/O counters

These following counters monitor the overall system I/O. In the default configuration, I/O on the data and index files is cached by the file system, so you have to look at the system to get real I/O information (various keywords affect this behavior).

  • LONG8sct_rdops; - number of read operations
  • LONG8sct_rdbyt; - bytes read
  • LONG8sct_wrops; - number of write operations
  • LONG8sct_wrbyt; - bytes written

Transaction activity

The following counters give a good idea of transaction activity:

  • LONG8sct_trbeg; - number of transaction begins
  • LONG8sct_trend; - number of transaction ends
  • LONG8sct_trabt; - number of transaction aborts
  • LONG8sct_trsav; - number of transaction savepoints

Log writes

The log writes default (with COMPATIBILITY LOG_WRITETHRU) to real disk I/O requests by the system.

  • LONG8sctwlgops; - number of log write operations
  • LONG8sctwlgbyt; - bytes written to log file

See also

  • SnapShot (SnapShot, SnapShot) - The SnapShot function provides full information about usage and the information that is returned.