FAQ: A Collection of Tips to Improve System Center 2012 Service Manager Performance

ChecklistSP1

Updated: Feb 17, 2014

There are a few questions I hear from System Center 2012 Service Manager (SCSM) customers all the time, like.

How can I make the SCSM Admin Console more responsive?

Can I host the SQL databases (DB and data warehouse) on the same server?

What settings can I tweak to make my SCSM perform better and scale further?

Why is my console responding so slowly?

There are definitely a number of steps you can take that will make a big difference.

Optimize Your Infrastructure for Top SQL Performance

Like most System Center 2012 components, Service Manager is database-driven. Poor database performance will impact every aspect of workflow and the user experience (for end users, analysts and admins). Optimizing the backend for performance will ensure happier users on the frontend.

  • Separate database and log files, and put them on separate LUNs or arrays to provide dedicated disk I/O to each
    • Don’t skimp on disk subsystem. Opt for SCSI, SAS and SSD over SATA.
  • Avoid using autogrow on Service Manager databases altogether. Statically set the DB size and monitor for free space with SC 2012 OpsMgr
  • Do NOT use a shared server for the DB and data warehouse. I’ve never seen this work out well at high scale. You can co-locate and play with multiple instances, processor affinity, etc., but it’s easier to just separate the DB roles to separate servers.
  • Move TempDB to it’s own RAID 1 volume with it’s own IO (separate LUN if on a SAN)
  • Break TempDB into multiple files. Try 1 file for every 2 cores.(added Mar 22, 2014)
  • Provide at least 8GB ram to the management server that hosts the SCSM database to ensure consoles are responsive
  • Provide at least 8 cores to the computer hosting the DB
  • If you virtualize the role, don’t overcommit resources. MS has some SQL virtualization best practices for you.

MS covers several of these recommendations at http://technet.microsoft.com/en-us/library/hh519624.aspx

Size Your Management Servers Appropriately

Per Microsoft: “You should have 8 GB of RAM for the management server. You should have at least 4 CPU cores per management server, assuming that you have 10 to 12 active consoles per CPU core.”

Reduce Frequency of Group Membership Polling Interval

Group membership is checked every 30 seconds by default, so in large SCSM deployments, it seems obvious this could affect performance. This is actually the same concept we use in System Center 2012 Operations Manager (OpsMgr) to improve performance at high scale. (Remember, SCSM was originally based on a version of the OpsMgr 2007 platform, so some of the internal workflow is the same in some respects.)

To manually specify the group change check interval
  1. Run Regedit, and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2012\Common\.
  2. Create a new DWORD value named GroupCalcPollingIntervalMilliseconds.
  3. For its value, specify the interval in milliseconds. The result is multiplied by 6. For example, to set the interval to 10 minutes, type 1000000.
  4. Restart the System Center Management service.

Additionally, you could use static group membership for large group, but I would recommend reducing the interval before you take that next step.

Connectors (new Mar 22, 2014)

The native connectors in SCSM that are critical in the initial population and lifecycle management of your CMDB can degrade performance if not configured according to MS recommendations. Tips for optimizing performance from a

  • Stagger connector schedules – You can control the hour of the day the connectors run. Spreading out the connector run schedules will reduce processing load at any given time.
  • Use LDAP filters in the AD Connector – Using an LDAP query to filter which user, computer and group objects are imported. Bringing in the entire AD domain likely means you are bringing in dead accounts. If your AD administrators have an area where they move aging / disabled / archived objects, you should avoid targeting your AD Connector to the OUs those objects are stored in. Details at http://technet.microsoft.com/en-us/library/hh519802.aspx
  • Do Not synchronize null values with the SCCM CI Connector – In the SCCM CI Connector configuration you can select to synchronize (or not synchronize) null values. Select the ‘Do not write null values…’ checkbox to avoid CIs being modified every time the connector runs.
  • Disable DCM Rule – If you are not planning on auto-creating incidents with SCCM Desired Configuration Management (aka Settings Management in SCCM 2012), disable the DCM rule in SCSM. Instructions at http://blogs.technet.com/b/mihai/archive/2012/11/30/configuration-manager-connector-s-dcm-rule-can-cause-massive-performance-issues-in-service-manager.aspx
  • Choose the right target collection for the SCCM Connector – It’s easy to simply pick the ‘All Systems’ collection to get everything from SCCM, but think about which systems you want to manage and consider using a more targeted (smaller) collection of active objects.
  • Whitelist conservatively with the SCOM CI Connector – The whitelist process allows you to import new classes across the SCOM CI Connector for use in asset management and developing an optimal self-service user experience. Just don’t get carried away. Whitelisting to many classes can end in CMDB bloat.

 

Enable and Encourage E-mail Workflow

The Exchange Connector in SCSM enables e-mail driven workflow for all classes of work items. Set it up, tell your users about it and how to use it. This will reduce traffic to the Self-Service Portal, which is not designed for processing a high number of simultaneous requests. Likewise, this may save your analysts a few trips to the console, reducing traffic from probably your heaviest user…the analyst.

Be Smart with Your Customizations & Use Search

Custom views, when created without performance in mind, can result in a substantial negative impact. I’ve seen some nasty ones in the real world. Learn about how to leverage filtering by related object properties and type projections from these two articles

Use the Search feature to look for work items rather than opening the All Incidents view.

And a final tip about the console…

Don’t put the SCSM Admin Console into full screen mode, as a bug there will cause some memory consumption issues. Size your console to near full screen when it’s not in full screen mode and you will be better for it. Teach this tip to your analysts as well. The corner of the console should look like this:

image

not like this

image

Have a performance tip of your own? Leave them as comments on this post.

5 thoughts on “FAQ: A Collection of Tips to Improve System Center 2012 Service Manager Performance

  1. Profile photo of Stanislav ZhelyazkovStanislav Zhelyazkov

    I would also put the tempdb on separate drive and even create multiple files for the tempdb depending on the CPU cores of the SQL server. I would also set the size of the tempdb files statically to a bigger size of the default one.

  2. Profile photo of Tommy Gunn

    Definitely you can. It is recommended somewhere for cases where your console would otherwise connect across a slow link.

  3. Pingback: Terugblik SCUG NL bijeenkomst dinsdag 3 dec. jl met Travis Wright en Chris Ross

  4. Profile photo of Cuse Man

    Good points.  We are doing latency testing with an office in Itally tomorrow.  If the client is slow, than we may need Citrix or a ThinApp solution.  Thanks for the tips on Connectors to SCCM

Leave a Reply