CI Reference Lookup Extremely Slow with Large CMDB (~2.3M CIs)

SubramaniP
Tera Contributor

We are experiencing severe performance issues with the Configuration Item (CI) reference lookup when clicking the magnifying glass from Incident and Change records.

 

Our CMDB contains approximately 2.3 million CIs, and simply opening the CI lookup takes a long time to load. This delay occurs before any manual filtering or paging is applied and is significantly impacting Incident and Change workflows where CI selection is frequent.

We are trying to understand the correct approach to improve CI reference lookup performance at this scale.

 

Question:
For large CMDBs, can modifying the OOB CI reference qualifier help reduce the load time when opening the CI lookup, or are there recommended approaches specifically for improving CI search performance at this scale?

1 REPLY 1

Fabian Kunzke
Mega Sage

Hey,

The reference qualifier topic is a general solution design question. I personally treat the reference lookup as an explicit definition at all times (e.g. I only show active users in the user reference fields). The idea isn't performance, but rather to guide users and prevent incorrect data. So from that general perspective, changing reference qualifiers is a great tool to guide users. Don't be too hesitant to use it.

 

With the CMDB the best user guidance which does not even require a change to the reference qualifiers is defining your principle classes - the classes you are using in most of the processes. There is an ootb qualifier script for this:

new TaskUtils().getConfigurationItemFilter(current);

This will filter your CIs down to only the principle classes. A lot of CMDB classes are not required for most of the processes to be available for selection. So this will likely reduce the amount of CIs in a reference field by a lot.

 

You can further reduce this list with filtering for certain operational states (e.g. in incident the selectable CIs should all be in an operational state). And if that does not help, you can always start to archive CIs with data manager archive policies.

 

Regards

Fabian