Synchronization performance

Synchronization is a computation-intensive and memory-intensive process. You can improve performance by allocating sufficient resources, restructuring the rule project, and reduce data transfer.

Allocate sufficient resources
Ensure that your system has enough resources. Provide adequate heap size to both Rule Designer and Decision Center. For more information, look up the topic about providing more memory for applications in the Configuring part of this information center that documents how to configure your application server.
Note: However, avoid heap fragmentation by configuring certain settings of your Java™ virtual machine to this effect. This process of configuring your JVM might require multiple iterations of generating and analyzing the verbose:gc output and applying its recommendations, before arriving at the optimal settings for your environment.
Restructure the rule project
Restructure your rule project so that the rules are split among multiple top-level packages. Synchronization is done at the top-package level. Therefore, if you create all your rules under the top-level package PackageA, all the rules are sent from Rule Designer to Decision Center at the same time during the first synchronization publish.

If the number of rules in a single top-level package is very large, then this can be a significant bottleneck during synchronization. This is especially true if a new rule project is being created as a result of synchronization, either as a publish of the project from Rule Designer to Decision Center, or as the creation of a new project on Rule Designer from Decision Center. If you split the rules into multiple top-level packages, the amount of memory required to send a top-level package to Rule Designer from Decision Center, or conversely, is smaller because of the lower number of rules.

For more information on rule project organization, see Guidelines for organizing your application into rule projects

Reduce transfer of data
When you create a new rule project from Decision Center in Rule Designer, you do not need to get the entire rule project each time you synchronize. Instead, you can synchronize with an existing local copy of the project. This choice significantly decreases the memory used because only the rules that were changed are sent from Decision Center to Rule Designer.