- Introduction
- Feature Configuration
- Imports
- Grid
- Item Editor
- Dashboards, Searches, Filters and Views
- Actions
- Triggers
- API Requests
- Scheduled Jobs
- SaaS Tiers
Introduction
This article explains how best-practice configuration of Perfion is essential to ensuring optimal performance for both end users and system processes.
Perfion is highly configurable. While not every performance issue can be solved through configuration alone, many settings can significantly improve performance. In this article each section below will provide suggestions for a particular part of the solution.
Some general high-level recommendations:
- Update Perfion to the latest version – the development team continuously tries to identify general improvements which should benefit across the customer base.
- If you host the solution yourself: Team up with your local database administrator, to make sure that the SQL database itself is healthy and performant.
- If you experience bad performance despite trying the suggestions in this article, reach out to your Boyum partner. They can either help directly, or decide to involve the third-level Boyum support/development team.
Feature Configuration
As a Perfion administrator, there are some things to consider when doing the general data modelling within Perfion. Feature configuration and data modeling have a significant impact on overall system performance.
Recommendations:
Strive for simplicity in your data model
Limit the number of features by reusing generic features (for example, one shared color list instead of multiple overlapping color features)
Use inheritance only when necessary, extensive use of inheritance can negatively impact performance
Reuse features across product areas where possible
Be cautious with performance-Heavy feature types.
The following feature types can have a higher impact on performance:
Remote features
Related Values
Formulas
Imports
Imports are often essential for synchronizing data from other systems. Many users rely on data from other systems to be imported into Perfion. In some cases, the frequency, timing, or sheer volume of data to be imported, can become a potential pain point for the performance experienced by the daily users.
A second initiative is to use the new importer. In 2025, Perfion launched a performance-optimized version of the importer, and until the previous version has been phased out, be careful to ensure that you use the new version (at least if you have performance issues).
Recommendations:
Schedule large imports outside normal working hours whenever possible. If you have a need to perform data imports during work hours, be cautious because your users are most active in that timeframe.
Avoid running imports during peak usage times.
Review how frequently imports are executed. Thousands of daily imports can have detrimental impact on the experience of normal users, who work in the grid or the item editor.
Use the new performance-optimized "new importer" (introduced in 2025).
Import only relevant data. Avoid repeatedly importing large files when only small portions have changed. Consider pre-filtering data in upstream systems before importing.
-
After large imports that update significant data volumes:
Beneficial to perform database maintenance
Rebuild indexes and update statistics
Use available admin tools or EXECUTE.TASK (from Perfion 2026-R1)
Grid
The Perfion grid view is highly configurable. Proper configuration allows strong performance even with large datasets, while poor configuration can cause slow performance even with smaller datasets.
Recommendations:
Limit each view to only the necessary features
Create separate views for different user groups or use cases
Minimize the use of external data sources ("Remotes")
Adjust page size to a reasonable level
Build category structures with balanced SKU volumes
Use "traffic lights", images, and visual indicators only when they provide clear value
Item Editor
Although the Item Editor works with one item at a time, configuration still impacts performance and usability.
The best tip for the Item Editor is to keep the default tab focused on essential features only. Avoid adding too many features to this tab to please different user types. Instead, use separate tabs for different audiences. Similar advice applies to the grid, including remotes and traffic lights.
Recommendations:
Keep the default tab focused on essential features only
Avoid placing too many features on the first tab
Create separate tabs for different user roles or needs
-
Apply the same caution as in the grid when using:
Remote features
Traffic lights
Images
Dashboards, Searches, Filters and Views
Dashboards are a powerful tool to guide your users towards items that need their attention. But it can also be a high-computation effort, if you have many dashboards/widgets which are based on complex queries.
In general, we recommend queries in search features be limited to as few conditions as possible.
Also, there can be good effect from using ID’s instead of selectable values in clauses.
Recommendations:
Keep search queries as simple as possible
Limit the number of conditions in queries
Use IDs instead of selectable values in query clauses when possible
Review dashboards with many widgets based on complex logic
Actions
Actions allow advanced use cases via standard methods, or embedding custom code, because of the flexibility, Actions can potentially compromise system performance.
Recommendations:
- Do not use id=** view = config in your select.perfion, id=* ignores remotes which should only be fetched when needed.
- Switch to the IMPORT.FEATUREDATA importer.
- Consider a controlling Action that simply has sub-actions as EXECUTE.ACTION steps. This guarantees control and sequential running order taking the guesswork out of scheduling Actions.
- Run heavy scheduled actions outside normal working hours
Triggers
Using triggers make it possible to automate certain system tasks, based on data changes.
However, due to the instant-impact nature of Triggers, they should be used with caution.
As a general rule, try to limit the scope of triggers by using conditions to ensure triggers are only fired when necessary. Also, if a certain time delay is acceptable, it can be better to set a feature flag, and let a scheduled Action take care of the post-processing in a more asynchronous manner.
Recommendations:
Limit the scope of triggers using precise conditions
Ensure triggers only fire when truly necessary
-
If immediate processing is not required:
Use a feature flag
Let a scheduled Action handle processing asynchronously
API Requests
The Perfion API does not impose rate limiting or other restrictions towards external systems. This means that all integrations should be given consideration, when it comes to the necessary frequency and data amounts to be requested.
On a more specific topic, avoid the trap of id=** view = config - you are potentially pulling more data than you need. Always write targeted API queries requesting only what you need / intend to use.
For Ecommerce API queries:
- Queries in Search Features should be limited to as few conditions as possible
- Additionally, use IDs instead of selectable values in clauses
Scheduled Jobs
Sometimes, poor performance can be the result of scheduled tasks taking up resources in the background. Regarding frequency, consider whether the jobs need to be run as frequently as they do currently.
Recommendations:
Review the duration of scheduled jobs and identify outliers - Are there any outliers that require a deeper dive?
Evaluate whether jobs need to run as frequently as configured
Reschedule heavy jobs to run outside regular working hours whenever possible - Is it possible to reschedule jobs to outside of regular working hours?
SaaS Tiers
For SaaS customers, performance depends on both system configuration and the selected SaaS tier. Higher tiers provide access to greater system resources, which can improve performance under heavier workloads.
In overall terms, Higher SaaS tiers provide more system resources, which can improve performance under heavy workloads. and result in a generally better performance, compared to a smaller license variant.
On the Perfion pricing and plans page, it is possible to review the SKU limitations for the individual packages:
Even within these boundaries, performance can vary a lot based on configurations, background jobs, trigger automations, and so on.
We always recommend reaching out to your partner, or to Boyum IT directly, if you feel that performance is below expectations. We can then investigate the potential for optimizations, or discuss ways to address the topic.
Comments
0 comments
Article is closed for comments.