Improving ZCM Database Performance via Configurable ZENworks Options

  • 7005606
  • 28-Apr-2012
  • 01-Aug-2019

Environment

ZENworks Configuration Management 2017
ZENworks Configuration Management 11

Situation

ZCM database utilization is too high or database performance is too low.
 
See TID#7004531 - "Using Assignment Requests to Analyze General Zone Performance" to help confirm current database peformance issues as well as a means to gauge performance improvements.
See TID#7005560 - "Improving ZCM Database Performance by Monitoring and Limiting Table Growth" for additional methods of increasing database performance beyond the ZCC configuration options referenced below.

Resolution

ZCM Database performance is critical to the overall performance of ZCM. One of the best ways to maintain optimal performance is to move database workloads, where possible, from busy periods to slow periods as well as reduce unnecessary loads. In most environments, the busiest time of the day for the ZCM database tends to be at the start of the business day when users are first starting their computers and performing an initial logon. Transferring any non-critical loads from this to another time can help ensure peak performance at this critical time of day.
 
1) Avoid Uploading Inventory Data to the Database During Peak Morning Rush -
By Default, ZCM will start the inventory scan on its scheduled day as soon as the device is booted.  Since the device will already be very busy with other boot and logon processes, the inventory scan will have the greatest impact on the user at this time.  Upon its completion, the scan will also immediately upload to a ZCM primary server to be processed by the server and the database.  However, it is possible to tweak the inventory scan so that it runs after the device has booted and after the busiest periods for the ZCM database.  Set the schedule to start shortly after the completion of the morning rush and staggered throughout the rest of the day.  Also set the inventory to run if it is not able to run during the scheduled period to capture devices not used during normal business hours.  This should result in more responsive logons due to reduced contention on the device itself during boot and logon as well as a reduced impact on the ZCM database during it's peak utilization period.  (Note: Set the Inventory Priority to Low and Ensure that NtfsDisableLastAccessUpdate is Disabled on Windows XP as it is by default in Windows 7 to reduce scan impact on users.  Uploading Inventory Scans to Satellites instead of the primary may also help, but it is not easy to control when those scans will be rolled up to the primary.)
 
2) Schedule Inventory Reports to run during Evening Hours
Depending on the amount of Inventory Data Stored and the nature of the report, Inventory reports can be intensive database processes.
Check the ZCC to see if any administrators have scheduled Inventory Reports to be automatically generated during busy periods and if so reschedule the inventory reports to run during the evening hours.
 
3) Configure ZRS Reports to Only Update Upon Request -
By Default, ZRS reports regenerate themselves each time they are opened.  If the report is complex and used frequently, users may be unknowingly performing heavy database queries unknowingly during busy times of the day.  Also, by configuring the report to only refresh its data upon request, commonly used reports will open quicker and can even be scheduled to automatically run overnight to ensure they contain updated information.  (Note: This is a PER REPORT setting.)
 
4) Verify ZRS Folder Synchronization is set to run daily -
ZRS Folder Synchronization will import views creating inside of ZRS so they are visible inside of the ZCC.  This process can place a significant load on the database and previously defaulted to once every 5 minutes.  The current default is once per day.  Verify that the synchronization frequency is at most once per day and the original default of 5 minutes is not currently set.
 
5) Configure Configure the Patch Management Dashboard Report Schedule
By default, The Patch Management Service updates the Dashboard report daily based on an internal schedule depending on the last time the server was started.
Configuring the report to run at a specific time can ensure that it will not run during periods of peak database use.
 
6) Device Refresh Schedule
By Default, the ZCM refresh schedule is 2 hours for partial refreshes and 12 Horus for a full refresh. 
Increasing these values can result in a reduction of general database usage throughout the day, though may not address peak usage during a spike at the start of the business day.
Special care should be taken to ensure the values are not reduced to a time period less than then peak usage period at the start of the business day.