Recommendations for Data Director and SIF or BES API Optimization

Recommendations for Data Director and SIF or BES API Optimization

The following table lists the recommendations for
Data Director
and
Services Integration Framework
(SIF) or Business Entity Services (BES) API calls optimization:
Parameter
Recommended Setting
Description
Read BES call
:
Parallel read call
Default is 30.
Parallel threads.
cmx.server.enrichcopager.thread_pool
This property is available in the
cmxserver.properties
file. Sets the number of threads the EnrichCoPager property uses from the thread pool to perform parallel ReadCO operations. If you want to disable multithreading, set this value to 1. Based on your requirement, increase the value for better performance.
Read BES call
:
Minimum record to enable multithreading.
Default is 2.
Number of records returned.
cmx.server.enrichcopager.min_rec_for_multithreading
This property is available in the
cmxserver.properties
file.
Sets the minimum number of records to return before the EnrichCoPager property uses multithreading.
Hierarchy REST API
:
Maximum depth for hierarchy search.
Default is 100.
cmx.server.hierarchy.max-search-depth
This property is available in the
cmxserver.properties
Hub file.
Maximum depth searched when you use hierarchy REST APIs to find a hierarchy path. If you set to a higher value, it causes performance impact on hierarchy search.
Hierarchy REST API
:
Maximum width for exporting the hierarchy.
Default is 1000000.
cmx.server.hierarchy.max-search-width
This property is available in the
cmxserver.properties
Hub file. Maximum width of the searched hierarchy to include when you use the hierarchy REST APIs to export. If you set to a higher value, it causes performance impact on hierarchy export.
BE internal jobs
:
Minimum record to enable multithreading.
Default is 30.
com.informatica.mdm.batchcontroller.BEBatchJob.min_rec_for_multithreading
This property is available in the
cmxcleanse.properties
Process server file. The least number of records trigger a multi-threaded job. If the number of records is below the threshold, the job runs on a single thread. It is specific for jobs that are indirectly triggered from user actions, such as find and replace.
In an instance where you consistently see that the users are waiting for a long time to implement UI operations for a smaller number of records, it might be worthwhile to decrease this number. But note that, if you have multiple users performing the same operation with a lower threshold value, you require a higher number of concurrent threads to handle the work, even if it is for a shorter duration.
Cache
:
Lookup Cache Update Period
Default is 300000 (5 minutes).
lookupCacheUpdatePeriod in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
The amount of time the lookup data is cached in the server. Change it to a higher value if your lookup data is not going to change in real time frequently. Keep a higher value as it would improve the performance as the cache refresh is reduced.
Cache
:
SAM Cache Update Period
Default is 600000 (10 minutes).
samCacheUpdatePeriod in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
The amount of time the data about Security Access Manager (SAM) roles (no users) is cached in the server. Change it to a higher value if your role data is not going to change in real time very frequently. Keeping a higher value improves the performance, as the cache refresh is reduced.
Cache
:
Cache Refresh Daemon Thread Monitor (both Lookup and SAM Cache)
Default is 5000 (5 seconds).
threadSchedulerIdleTime in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
Time interval of the daemon thread that checks and triggers the Lookup cache and the Security Access Manager cache operations based on their update period. That is, every 5 seconds, the daemon thread would check and trigger the lookup cache and Security Access Manager cache if their update period is reached.
This period can be increased to improve performance, if it is not necessary to check the SAM and Lookup Cache time periods every 5 seconds.
Search Operation
:
Maximum number of records retrieved at a time
Default is 100.
serverPageSize in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
Number of records to be retrieved from the Hub Server when a search operation is performed. Note that even though Hub Server shows 10 records per page, internally it loads these many numbers of records (given by this parameter). And the Hub Server caches the remaining records that are not shown in the view.
This parameter is used in Search Results and in functional areas such as potential matches, hierarchy relationship records, wherever a list of records is retrieved for the user.
A higher value could make the search results performance better, provided the Hub Server can handle the load and cache.
Search Operation:
Maximum number of records during search results export
Default is 5000.
maxSearchResultsExportedRows in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
Number of rows that are exported when using the export option in the search results page. Do not increase the value unless there is a valid use case. The greater the value, the lower will be the performance of the export operation.
Search Operation
:
Case Insensitive Search
Default is false.
Adds performance overhead when enabled.
case.insensitive.search
This property is found in the
cmxserver.properties
file.
If set to true, users can enable the case insensitiveness attribute for individual columns in the base object, to enable case insensitive query search in
Data Director
. Enabling this flag would incur a new index created for such columns. As index management has its own performance overhead, use this flag with caution.
If there is any system column that you want to include with case insensitive search, create a functional index manually for such columns. For more information, search the
Informatica Knowledge Base
for article numbers 154132 and 154139.
Search Operation:
Default effective date
Default is true.
isEffectiveDateIncluded in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
By default, effective date is automatically populated with current date. This may impact performance for normal queries that do not need effective date. In such scenarios, you can set this flag to false to remove the default value.
For more information, search the
Informatica Knowledge Base
for article number 347953.
Search Operation
:
Remove Duplicates Flag
As applicable.
Default is true.
cmx.server.remove_duplicates_in_search_query_results
Default is true.
This property is found in the
cmxserver.properties
file.
By default,
Data Director
filters the duplicate results from the search query that joins child records. However, this flag if enabled, can affect the performance depending on the time it takes to de-duplicate the search results. If duplicates are not an issue in the search result, you can disable this flag.
For more information, search the
Informatica Knowledge Base
for article number 122829.
Data View
:
Asynchronous Child Load
Default is false.
Adds performance overhead when enabled.
asyncChildLoading in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
If true, all child records are opened (expanded) automatically when you open a parent subject area.
Hierarchy
:
Maximum records in Relationship Flyover
Default is 10000.
sif.api.hm.flyover.max.record.count
This property is found in the
cmxserver.properties
file.
This number denotes the maximum number of relationships that are to be shown in Relationship Flyover in
Data Director
. Internally, the best version of the truth (BVT) calculation is done for all such relationships. Therefore, having a high number here would impact the performance of relationship flyover.
For more information, search the
Informatica Knowledge Base
for article number 157628.
Hierarchy
:
Inactive relationship records
Default is false.
hmInactiveRelationshipsAvailable in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
If true, Hierarchy Manager in the
Data Director
would show all the inactive relationship records also. Do not keep this value as true unless there is a valid use case to do so.
Task Context
:
Parallel Promote Threads
Same as the number of Hub Server Cores.
maxParallelPromoteThreads in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
Default is 1.
Determines the maximum number of parallel threads when a task is approved (Promote API).
This is helpful when you promote parent, child, and grandchild subject areas together.
Task Context
:
Parallel BVT Threads
Same as the number of Hub Server Cores.
maxParallelBvtThreads in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
Default is 1.
Determines the maximum number of parallel threads when a task is viewed (PreviewBVT API).
Task Context
:
Maximum tasks assigned to a user
Default is 25.
sip.task.maximum.assignment
This property is found in the
cmxserver.properties
file.
Maximum number of tasks assigned to each user when automatic task assignment is enabled. Keeping this a high number would impact the performance of task context screens in
Data Director
.
For more information, search the
Informatica Knowledge Base
for article number 134833.
ActiveVOS, Identity Service
Enable the identity caching from the ActiveVOS Console.
Identity service uses cache for subsequent calls within a specified time or maximum entries specified in the cache. The cache boosts the ActiveVOS performance.
Bulk Import
:
Bulk Import Threads
Same as the number of Hub Server Cores.
maxImportThreads in
CMX_SYSTEM.C_REPOS_DS_PREF_DETAIL
Default is 5.
Maximum number of threads to be used while using the Bulk Import module.
Bulk Import
:
User Exit
As applicable.
PUT user exits are called for each and every record individually.
Having a complex logic in the PUT user exit would deteriorate the performance. Use user exit with caution.
Bulk Import
:
Children, Foreign Keys, and Lookups
As applicable.
More number of children, foreign key relationships, and lookup columns in the data import would impact the performance.
Search Operation and HM Hierarchy
:
BVT Optimization Limit
temptableTimeToLive
default is 20.
MaxRowCount
default is 5000.
This property is found in the
cmxserver.properties
file.
Applicable for SearchQuery, SearchHMQuery, GetOneHop, and GetEntityGraph SIF APIs (also the relevant
Data Director
modules) when effective dates are specified.
searchQuery.buildBvtTemp.MaxRowCount
: Specifies the maximum number of records to be used in the BVT calculation when processing a search operation with effective date filters.
sif.search.result.query.temptableTimeToLive.seconds
: Specifies the number of seconds, the temporary table of the specific API must reside in the server. That is, the earlier mentioned APIs would store the full results in its own temporary tables which are cleaned-up automatically based on this timeout. Pagination would work based on the data from this temporary table instead of re-querying the API repeatedly from the core tables. For search operations involving larger number of records, it is recommended to increase this timeout value.
Example:
If a hierarchy entity can have more than 10,000 related records, set the values as shown:
sif.search.result.query.temptableTimeToLive.seconds=3600 searchQuery.buildBvtTemp.MaxRowCount =100000
For more information, see the
Multidomain MDM Configuration Guide
and the
Multidomain MDM Services Integration Framework Guide
.
Traffic compression
Default is TRUE.
cmx.bdd.server.traffic.compression_enabled
This property is found in the
cmxserver.properties
file.
Specifies if
Data Director
server traffic compression is enabled.
For more information, see the
Multidomain MDM Configuration Guide
.
SearchMatch API:
Thread count
Default is 1.
cmx.server.match.searcher_thread_count
Available in
cmxcleanse.properties
file.
Configures the thread count for the SearchMatch API.
Optimal value can be decided based on your environment. You may need to test with an incremental value of thread count until you see an optimal performance.
SearchMatch API
:
JDBC direct connection
false
cmx.server.batch.use_direct_connection=false
This property is found in the
cmxserver.properties
file.
This property helps you to improve the performance of realtime SearchMatch API.
Batch jobs and APIs use this property. Modifying the property might impact your batch jobs. See the Informatica Knowledge Base article number 301843 for further details.

0 COMMENTS

We’d like to hear from you!