Performance: Best Practices
Site performance can be impacted by many different factors. Review the following to ensure you are not doing anything to inadvertently affect the performance of iMIS.
Queries and Business objects
Poorly written queries can cause performance issues. Not only can poorly written queries under-perform for a user, but they can negatively affect overall system performance, both in your system and for other hosted clients. See IQA Queries: Best Practices for the many tips on how to properly configure IQA queries.
If you are working with custom business objects, review the Business Objects: Best Practices to ensure the business objects are properly configured.
Important! It is recommended to exercise caution when using dynamic group views (those beginning with vlqa) in custom business objects, as they may lead to poor performing queries, or may present problems if the dynamic groups are changed in the future.
images
Large image files will have an impact on performance. Images that are not optimized for the web can significantly impact performance, especially is they are each above 1 MB. Ensure images are optimized in both dimension and quality for online view. iMIS can also support using SVG files that are suitable for both quality and speed. Review Managing files and images for more image recommendations.
Access Settings
Throughout iMIS, whenever you configure Access Settings, you see a drop-down list of available security settings that you can apply to individual folders and objects. These security sets offer you easier control and faster iMIS performance than defining custom ones. It is best practice to use the preconfigured security sets for more reliable performance. See Granting access to content using the Access Settings.
Communications
Scheduled tasks that are sending communications should adhere to the following best practices:
- You can send large communication jobs with a maximum of 50,000 contacts. When sending a large communication job, it will take about 10 minutes for the statuses of the first several communications to appear in the communication log. The remaining communications statuses will appear in the communication log throughout a one-hour period. These times will vary depending on the amount of communications being sent. Actual email delivery time depends on a number of factors, including iMIS processing, third-party queueing, and routine SMTP delivery factors.
- You cannot send more than one large communication job at a time. It is recommended to wait approximately 10 minutes between communication jobs. Wait time between jobs will vary depending on the size of the preceding communication job. After all statuses for a communication job are present in the Communication Log, you can begin the next large communication job.
- Be aware that scheduling overlapping email jobs will cause some delay. Advanced email jobs sent using a Process automation task are usually executed as defined in the Process automation task – whether on a schedule or by a database change. However, if there are other email jobs being processed at the time the Advanced email job is scheduled to go out, the task will be delayed until the earlier tasks are completed.
- It is recommended that scheduled communications should send during off hours, such as 2:00 a.m.
Dynamic Groups
There is no strict limit on the number of dynamic groups that can be created in iMIS. However, ASI recommends limiting the number of dynamic groups that refresh daily to no more than 30. Daily-refreshing dynamic groups can affect queries, security groups, sitemap items, and other system components. Exceeding this recommended threshold may negatively impact overall system performance.
Report Writer
If you are experiencing performance issues related to Report Writer reports, be sure to review the Report Writer: Best Practices.
System event triggers in Process Automation
Use the On a system event trigger type sparingly, since these triggers will run every time the selected actions occur (row inserted, row deleted and/or row updated). When overused, these actions can slow overall system performance. See Creating and editing scheduled tasks.
Disabling process automation tasks no longer being used
For those who have recently upgraded, it is important to disable process automation tasks that are associated with dropped stored procedures. When the stored procedure is dropped, the related task is not disabled and will continue to run even after the stored procedure is dropped. See Disabling Process Automation tasks using custom stored procedures.
Importing contacts
Creating user credentials when importing contacts can impact performance. If you must create user credentials when importing contacts, it is recommended that the import is performed after peak business hours. See Importing contacts.
Content items
The Do not render in design mode checkbox can be enabled on a content item to prevent content record data from being loaded in the content editor. This improves performance during design time. See Dynamic Content Items.