Customizations which "cost" the most in performance

Hey guys.

Just wondering if there was a guide/rule of thumb regarding toll on performance in regards to custom fields, modules, etc. Meaning, which functionality preys the most on performance.

For example, are custom fields going to be more of a burden to the system than roles?

What thresholds are considered for each?

Etc.

Or are we just "all good" and the stack is more of a inhibitor

Thanks,

KGM

Parents Reply Children
  • A couple of additional thoughts to Matt's comments..

    1. Increasing the default ListView records from the default 20 records per page will affect performance of the ListView. It is generally recommended that you do not increase this value, although I've seen acceptable performance with 40 - 50 records per page.

    2. Extensive use of SugarLogic enabled fields can also effect the time it takes to display a record. The most egregious case I recall seeing was one with 40+ SugarLogic enabled fields, which in turn caused Sugar (6.5 at the time) to take over 4 mins to display a record.

    3. Using custom fields where a custom module is more appropriate. I shared some further thoughts on the fields issue here: What is the limitation on the number of fields you can add to a module?

    4. Sorting ListView data on non-indexed fields can also degrade performance. This is something folks will usually encounter if they add custom fields to a module and its ListView, then choose to sort the data based on one of those fields.

    5. One of the quickest ways to introduce performance problems though a customization is via a custom ACL and/or Visibility class. In the case of the latter, it permits you to literally rewrite the SELECT statements Sugar uses in the ListView (and other places). If you are not careful, you can easily introduce all kinds of inefficiencies through that process.

    Those are some of the more common items we see out on the field.