- Select reasonable group size and polling interval.
IA waits for the completion of the PerlScript execution and processes the output to update the objects in the repository. If there is any error such as timeout or buffer overrun, the entire output is discarded.
- Set reasonable range of monitoring action threads.
If you have hundreds of software services to be monitored, consider increasing the number of monitoring action threads. The default monitoring action thread is 10. A reasonable range of monitoring action threads is between 10 and 50.
- Determine the time required to run a PerlScript.
Although each action script can monitor multiple software service objects, there is a limit to it. Each script invocation must be completed within the timeout limits and the output produced by it must be less than maxOutputLength.
- PollingGroup and ContextGroup
PollingGroup provides configuration time optimization by allowing the same parameters to the monitoring actions. ContextGroup provides runtime optimization by combining group of softwareservice objects to share the instance of the PerlScript invocation.
Members of the common context group are monitored by the same instance of PerlScript invocation, unless ContextGroup is set to none. The size of ContextGroup ranges from 1 (Context=NONE) to size of Polling Group (Context=PollingGroupName) to all members of the same monitoring action (Context=MonitoringActionName). - Choose an appropriate ContextGroup size.
Too many members in a ContextGroup results in latency and is prone to hit timeout or buffer overrun errors. For example, if a PerlScript takes 5 seconds to complete an update, and you want to update the status every 4 minutes, then a context group should not contain more than 48 objects (240/5=48).