Archive of Huge amount of CI's

Steve Morse
Kilo Explorer

Hi 

Our CMDB has an integration with SCCM which has been creating Network Adapters for a number of years whenever an end user device starts a session - we now have 2.5m Network Adapters which we would like to archive.

OOB archive rules run 10 batches of 100 every hour - if we kept to these parameters then it would take over 3 months to archive all these CIs. 

Can anyone advise what the max we can set these parameters before we start to see performance issues? Or if there is a better way to archive CI's in such large numbers?

Thanks

Steve

3 REPLIES 3

Sandeep90
ServiceNow Employee
ServiceNow Employee

One way you can achieve this do a scheduled job to run during off-peak hours for a certain time and archive it. If the archive needs to be done based on querying then order by sys_id and keep track of sys_id by saving it in a table so that you can query from that sys_id forward to get the fixed number of results that need to be archived that day. Once that process is done save the sys_id of the last record of the batch.

Based on your system try adjusting the limits on what's feasible without having an impact on performance.

Lavern Towne
Kilo Contributor

CompactRelation: failed to get details of CI bc4fe864135b9bc0574c75276144b09f: no thrown error | syslog | 000009c213579700f6a7f107d144b0b3 | system | 2018-07-15 21:36:31 | | 2 | com.glide.ui.ServletErrorListener | service_cache_mgr

 

MyMileStoneCard Login

Tony Branton
ServiceNow Employee
ServiceNow Employee

Hi Steve,

CMDB Data Manager introduced in the Rome release, provides a way of targeting CIs for retirement, archive and deletion using a policy-based approach.

CMDB Data Manager works with batches of 1000 CIs which is set using the system property glide.cmdb.data.manager.delete.batch.size.  While it's possible to adjust this, it can impact platform performance if increased to higher values.

Policies for retiring/archiving/deleting CIs are evaluated on a daily basis making them dynamic - the target CI list is updated based on what's in the CMDB when the scheduled job for a policy runs. In your case you'd define two policies in CMDB Data Manager:

  1. Retire policy: sets the Lifecycle Stage field to "End of Life" for the Network Adapter CIs
  2. Archive policy: archives the Network Adapter CIs whose Lifecycle Stage field is "End of Life"

Both policies would be configured to not require approval so they could run automatically. Although you're still looking at a few weeks to archive the CIs, it's something you can "set and forget" using CMDB Data Manager.