Skip to main content

OpsManJam

Go Search
Home
  
OpsManJam > Quick Posts > WORST PRACTICE: Class properties that get updated frequently  

Quick Posts: WORST PRACTICE: Class properties that get updated frequently

Open

Subject

WORST PRACTICE: Class properties that get updated frequently  

Body

Operations Manager 2007 exposes to the MP author a powerful, model based way of modeling the health information.  One of the powerful features is that Ops Manager discovery is able to populate information on these classes based on what is found relative to each instance at runtime.  This enables display and information about settings on a per instance basis.
 
One issue that comes up in modeling that causes a severe performance probem is when properties on classes are designed hold frequently updated informaion such as time or monitoring values.
 
When designing classes, avoid adding properties that get changed from the first time that discovery runs.  For instance, if the MP author isn't careful, they can be well intentioned and assume that the "last changed" time on an instance will get set only once, and code the discovery rule to populate this value with current date and time.
 
The first time the discovery runs, the class instances are discovered!  Everything is good.  But the next time discovery runs, every class instance gets updated with a new time value.  This causes the changed discovery data to be pushed up to the Root management server (RMS) each time discovery runs.  This may not seem like a lot of work, but the transfer of many instance level updates each time discovery runs adds load to the RMS server.  When discovery runs frequently, and the instance counts are high, this can destabilize ops manager overall because it is constantly working on updating the instances that are being monitored.
 
Other examples include exposing the monitor values on the class instance - it may seem like a good idea to expose all of the important counter values on a class so an operator can see what is happening without having to look deeper into the system, but by exposing rapidly changing values on the discovered class, the discovery system is forced to refresh all discovered instances over and over again.
 
The only properties you should expose on a managed entity that is populated by discovery shoud be static data that is instance specific and that changes infrequently.

Attachments
Content Type: Discussion
Created at 8/8/2008 1:41 PM  by Scott Butler 
Last modified at 8/8/2008 1:41 PM  by Scott Butler 
Disclaimer    Privacy Statement    Terms Of Use   © 2008 Microsoft Corporation. All rights reserved.