Monitoring the Intersystems Cache Database

eG Enterprise offers a specialized monitoring model for the Cache database (see Figure 17) that monitors the database 24 x 7 and proactively alerts administrators of probable issues in its operations, so that issues are trapped very early and resolved before its too late. 

     layermodel-final

Figure 17 : Layer model of the Cache database server

Each of the layers depicted by the hierarchical model above, is associated with a wide variety of tests that measure the health of various factors influencing database performance. The performance metrics reported by these tests shed light on the following:

Cache Service/Process Monitoring

  • Is the cache instance up and running?
  • How responsive is the cache database server to client requests?
  • Are the critical processes running? What is their resource usage?

Cache System/ Database Monitoring

  • What is the current status of the database - read-only or read-write?
  • Is there sufficient free space in the Cache databases?
  • Are there any severe/fatal errors logged in the console log?
  • Is license usage optimal?
  • Is data adequately referenced so as to enable easy retrieval?
  • Is global referencing normal or are there way too many or too little global accesses?
  • Have too many locks been created on any database instance? If so, what are the lock types? Are there any potentially dangerous lock types?
  • Are too many processes contending for a lock on the database?
  • Are resource seizes occurring? If so, what types of seizes are they?
  • Were any critical changes made to the database, recently?
  • Was the write daemon able to write all changes to the database?
  • What is the current status of the write daemon?

Ecp Application/Data Server Monitoring

  • Is data transmitted properly from the application and data servers?
  • Are the global references affecting database performance?
  • Do the requests from data servers affect traffic?

Cache Performance/Buffer Monitoring

  • What is the workload of the data server in terms of lines & routine executed?
  • Has sufficient memory been allocated to the buffers to reduce physical disk IO?
  • Have the routine and database caches been adequately sized?