This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Custom Properties Impact on Database Performance

Not being, and never having been, a DBA in any shape or form I look at them as a bit of a dark art.

So, I'm after any knowledge as to the impact Custom Properties have on the DB. Specifically, I'd also be interested to hear of any approaches to mitigating the impact.

Why? For better or for worse, senior management have decreed that we use Solarwinds as a repository of details rather than spreadsheets, etc.

And like most folks, I guess, we use CPs for this, and do so quite extensively. One aspect where our CPs have grown quite large (for display purposes) is on IPSec VPNs. On a firewall node details, we display all the VPN details (currently a max of 35)  in its own resource widget. This only shows for devcies where at least one VPN is detailed.

So, would moving these to, say, a pop out tab decrease the DB load and / or page load times?
Are there any downsides to moving them to their own tab?
Is there a better way?

  • At the end of the day the custom properties themselves are pretty low impact, the data on the Nodes page mostly already comes from the same database view. Think about it this way, charting out cpu load for the last 7 days requires looking up about 1000 data points and sorting it from a table that holds potentially millions of rows. In contrast pulling every custom property for a particular node only requires you to pull a single row from a table with maybe a couple thousand objects on it, and we are going to be sorting against the nodeid which is the key for that table, so the fastest and simplest kind of sql search.

    Every resource adds load time to the page and work for the web server though, so deleting widgets or moving things off to different tabs is almost always beneficial. Unless it is data that your users are looking for most of the time, then you have to consider the extra clicks and page loads slowing down everyone's work flow. There's something of an art to getting the node details page to have enough info that people usually find what they want right away, without making it slow to load or too cluttered to find what you need. If that VPN data is only useful 10% of the times when you load the node details page then maybe it should be moved out so it doesn't impact the other 90% of the time when you don't care about it.

  • I use Custom Properties quite extensively with my nodes and haven't had any issues with my databases. 

  • Just as a point of reference, in my environment right now there are nearly 200 custom properties. It's pretty overkill and I'm trying to consolidate and clean it up some but even with that many our CP's are not causing any page load problems.
  • Thank you - as ever good info and I appreciate your time to respond.

    I had a gut feeling that the issue wasn't the DB side of things, but needed someone else to confirm that. With the case of the VPN details it has the potential to never get used unless we loose all backups, etc at the same time. So, migrating teh info to its own tab would, to me at least, seem the right approach and I just needed some ammo to take to battle for my argument.

    We are still working on sorting our front end web servers and load balancing, so hoping that by also undertaking this approach that this can only help, not hinder.

  • As a follow up to this query ... as I'm trying to think around teh box and possibly find other soutions to present options to the team...

    Is there such a thing as a multi line custom property?

    Or failing that, a notes box that obeys 'carriage returns' and other standard document markups / commands?

  • Is there an example of the data you are working with?
    I have a few data sets that are messy to work in custom properties that I just added as an extra table, but that means you have to use SQL to do anything with them.

    In my case this is stuff doesn't tend to change and where it does I set up automations to populate it for me. One example would be sites data, instead of having a stack of custom properties tracking site name and site id code and address city state zip country and all that I just have my nodes include the sitecode as a cp, then i made a table where i dump all the location data from service now CMDB and I use a custom sql widget to display it all.

    mesverrum_0-1587587160359.png

  • Thanks again Marc.

    One example would be like you mention - extracting site name, address, etc as one "unit" but I think the SQL step is a jump to far for my poor skill set or the other chaps in the 'distributed' team. None of us are DB or SQL bods, and I think had we been aware just how much we need to be, we probably wouldn't have gone with Solarwinds