Maintenance Plan Processing Data Volume Recommendations
Quick Navigation
Along with the maintenance plan processing batch size, the number of maintenance assets in each maintenance plan also impacts the process run performance. The number of work orders generated for each process run depends on the total number of maintenance assets in the maintenance plans, as work orders are generated for the assets.
To avoid Salesforce governor limits, refer to the specific recommendations in the Salesforce Governor Limit Recommendations section.
For example, 10 maintenance plans containing 10 assets each are considered for the maintenance plan process run, and all the maintenance assets' work rules are qualified. In this case, 100 work orders are generated for the process run.
Maintenance Plan Process Threshold Limit
Each maintenance plan process supports a maximum of 10,000 maintenance plans. When the total number of plans across multiple PM processes is fewer than 10,000, the system automatically combines them into a single Apex batch job to optimize execution efficiency. No single batch job will exceed this threshold.
The threshold limit is configurable and can be adjusted to accommodate specific customer requirements and deployment scenarios.
Configuring Batch Size
Batch size should be set in inverse proportion to the number of assets associated with each maintenance plan. Higher asset counts per plan require a smaller batch size to prevent heap size errors and reduce CPU consumption, while lower asset counts allow for a larger batch size to improve throughput.
Number of Maintenance Assets per Plan
Recommended Batch Size
Notes
1 (single asset per plan)
20
Suitable for customers with one asset per maintenance plan.
Multiple assets per plan
1
Required for customers with multiple assets per plan to prevent heap size errors.
* 
Adjust the batch size based on the complexity of your work rules and asset conditions in addition to asset count. Exceeding recommended batch sizes in high-asset-count configurations may result in heap size errors and failed process runs.
The number of batch workers created for a single Apex batch job depends on the combination of the batch size set and the Maintenance Plan assignment threshold limit. The following table shows a couple of examples.
Batch Size Set
Maintenance Plan Threshold Limit
No. of Plans per Process
Batch Workers Created in Single Batch Job
20
10000
10000
500
10
100
100
10
1
10
10
10
Work Rules and Asset Conditions Recommended Limits
Work order creation during maintenance plan execution depends on work rules and asset conditions. If conditions are not met, no work order is generated. The number of work rules and asset conditions configured per plan directly impacts heap consumption during batch processing.
The following table summarizes examples of tested scenarios. Use these results as guidelines when configuring work rules and asset conditions for your maintenance plan processes.
Batch Size
Number of Maintenance Plans
Number of Plans per Process
Number of Assets per Plan
Work Rules per Asset
Asset Conditions per Work Rule
Process Run Status
1
10
10
1000
4
5
Failure
Heap size errors.
20
10000
10000
1
100
9
Failure
Heap size errors.
30
10000
10000
1
60
9
Failure
Heap size errors.
* 
Reducing the number of assets per plan allows for more work rules and asset conditions to be configured without errors. Maximum recommended values for work rules and asset conditions vary based on asset count per plan.
Salesforce Governor Limit Recommendations
To avoid Salesforce Governor Limit, distribute Maintenance Plans across multiple processes based on the following table combinations.
Maximum Batch Size
Maintenance Plan Assignment Threshold Setting
Number of Plans
Number of Assets per Plan
Total Number of maintenance Assets
20
10000
10000
1
10000
10
100
100
100
10000
1
10
10
1000
10000
Salesforce Platform Limits
Asset 360 maintenance plan processing runs as Apex batch jobs on the Salesforce platform. The following platform constraints apply and should be considered when planning large-scale maintenance plan processing.
A maximum of five Apex batch jobs can run concurrently on the Salesforce platform. Any additional jobs are automatically queued by Salesforce until resources become available. Job sequencing and queue management are controlled by Salesforce and are not configurable by users. These constraints affect overall execution time and resource availability, particularly for organizations with large numbers of maintenance plans or multiple simultaneous maintenance plan processes.
Logical Separation of Maintenance Plan Processes
Rather than specifying a fixed number of concurrent processes, it is recommended to organize maintenance plan processes using logical separation, grouping plans by function, asset type, or business unit. This approach prevents any single process from being overloaded, reduces the risk of hitting platform limits during batch execution, and maintains predictable and efficient execution across all processes.
Avoid consolidating all maintenance plans into a single process, as this increases the likelihood of exceeding batch size and heap size thresholds.
Configuration Review After Upgrade
A new threshold limit setting is introduced during Asset 360 package upgrades. After upgrading, you must review and update your maintenance plan process configurations to ensure they comply with the recommended limits described on this page.
* 
The default threshold limit of 10,000 plans per process is applied automatically upon upgrade. Customers with multiple assets per plan should reduce the threshold limit as needed to reflect their specific configuration. Failure to review configurations after an upgrade may result in process runs that exceed platform limits and generate errors.
Was this helpful?