17 Tuning Oracle Managed File Transfer

You can tune Managed File Transfer (MFT) to optimize its performance as the managed file gateway.

About Managed File Transfer

Oracle Managed File Transfer (MFT) is a high performance, standards-based, end-to-end managed file gateway.

It features design, deployment, and monitoring of file transfers using a lightweight web-based design-time console that includes file encryption, scheduling, and embedded FTP and sFTP servers.

For more information about Managed File Transfer, see Understanding Oracle Managed File Transfer in Using Oracle Managed File Transfer.

Tuning MFT Parameters

You can tune MFT parameters to optimize performance.

Table 17-1 lists and describes parameters that you likely need to tune to improve MFT performance. To diagnose problem areas in MFT, see Monitoring Oracle Managed File Transfer and Administering Oracle Managed File Transfer in Using Oracle Managed File Transfer.

Table 17-1 Essential MFT Tuning

Parameter Problem Tuning Recommendation Trade-offs

Processor count

Default: 2 for each type of processor

JMS messages are accumulating in message processing queues.

Increase the processor count for the queues where messages are accumulating.

The optimal value depends on the meta data and incoming payload. You can calculate the optimal processor count by using DMS metrics.

To enable DMS metrics, add the MBean property enablePerformanceMetric. To disable metrics later, set the value to False.

Having more processors requires more system resources for concurrent processing.

Maximum Concurrent Request and Max Logins settings for Embedded FTP/SFTP server

Default: 10

  • Multiple connection requests in waiting status

  • The message Too many users logged in, user will be disconnected occurs in the embedded server log file

Increase the maximum number of concurrent requests and maximum number of logins for embedded FTP/SFTP server.

You can increase the count so long as performance continues to scale linearly.

If the embedded server service (FTP/SFTP) is not being used, then disable this setting.

Increased count requires more system resources for concurrent processing.

LDAP Max Pool

Default: 10

Number of concurrent connections to the LDAP consistently reaches max limit.

Increase count.

Because LDAP is a shared resource for all deployed applications in WebLogic server, you should monitor LDAP connections and adjust this value accordingly.

Increased count requires more system resources.

Max connections to MFTDataSource

Default: 50

Number of concurrent connection to the data source consistently reaches max limit.

Increase the connection count so long as performance continues to scale linearly.

Optimal value can be determined based on the number of processors, listening source threading model, and max concurrent request settings of embedded servers.

Increased count requires more system resources.

Generating checksum setting

Default: Enabled

Overall MFT message processing is slow.

Disable this parameter if checksum validation for delivered payloads from MFT is not necessary.

Generating checksum is a time consuming operation.

Regular purge

Default: Disabled

  • Disk space is approaching the maximum limit.

  • Table space used by MFT tables reaches the max table space allotted.

Run purge to free disk or table space.

Historical information or data is discarded.

Table 17-2 describes the tuning properties that do not regularly need to be tuned. Keeping their default values is recommended, so you can check these parameters see if their values have been changed.

Table 17-2 MFT Parameters with Low or Medium Importance

Parameter Problem Tuning Recommendation Trade-offs

Processing function or callout usage recommendation for broadcasting use cases

Default: Target Level

Associated processing function or callout is executed for each target that degrades the performance.

For broadcasting use cases, associate processing functions or callouts at source level instead of target level as much as possible.

None.

Sub-folder count MBean setting

Default: 256

Degraded disk performance caused by MFT switching among a high number of sub-folders to store files.

Reduce the sub-folder count.

Reducing the number of sub-folders increases the number of files stored in each sub-folder. If the volume of incoming files is high, the number of the files inside a single sub-folder degrades performance.

Store Inline payload setting

Default: File System

Slow performance because accessing inline payload for Web Service sources from the disk takes too much time.

Store inline payload in the database rather than the file system.

The table size used by MFT increases as inline payloads are stored in the database.

Always Save Modified Files setting at the target level

Default: False

If you have changed this setting to True for auditing purposes, you will have increased the disk space usage.

The default value of False reduces disk space usage.

No audit information is available.

Note that a target level resubmit does not work if there was any pre-processing associated with the target.

minFileSizeForProgressMonitor

Default: 10 MB

Frequent updates about byte transfer.

Specify a minimum file size so that the transfer progress screen appears for larger files only.

For files smaller than the minimum specified, the file transfer progress is not displayed.

progressMonitorTimeToCommit MBean

Default: 4 seconds

Frequent updates about byte transfer.

Specify a minimum file size so that the transfer progress screen appears for larger files only.

Database updates on bytes transferred for ongoing file transfers are slower.

MaxMdsSessionCacheCount

Default: 100

Out-of-memory exceptions caused by MDS cache memory footprint.

Decrease this value.

Decreasing this will decrease the performance of the overall MFT message processing because accessing data from the cache is faster.

Tuning Remote FTP / SFTP/ FILE Type Sources

If MFT is not able to pick up files even after the polling frequency is expired, you need to tune the remote FTP/SFTP/FILE type sources. MFT uses the JCA Adapters underneath for all these source types. Refer to the SOA adapter recommendations listed under Oracle JCA Adapter Framework Performance and Tuning in Understanding Technology Adapters.

Table 17-3 lists the properties.

Table 17-3 Tuning Remote FTP/SFTP/FILE Type Source

Parameter Problem Tuning Recommendation Trade-offs

ThreadCount

Default: -1

A high priority endpoint is downloading files slowly because of insufficient threads in the global pool.

Specify a value greater than 0. This creates a dedicated thread pool for a given end point to download files.

A very high value may result in lots of threads assigned to one end point, which can lead to lower overall performance.

SingleThreaded

Default: False

In rare cases, you may not want to use global threads or allocate a separate thread pool for a low-priority end point.

Set value to True.

If set to true, it can result in a delay in downloading files from the end point as now there is a single thread for polling as well as downloading new files.

Minimizing MDS label

Artifact deployment results in creation of new MDS labels. More MDS labels increases the memory footprint and time to retrieve the metadata.

In general, users should follow these best practices for deployments:

  • Minimize frequent deployments and meta data creations.

  • Use bulk deployment for WLST commands.

  • Make all changes for metadata and deploy them at once.

Adjusting the Materialized Views Refresh Interval

Materialized views refresh every 1 minute. If there is a heavy load on the database server, you may want to increase the refresh frequency from 1 minute.

You can view data from materialized views on the MFT console. If a high load is observed on the database server, this refresh frequency can be adjusted by using the following command:

ALTER MATERIALIZED VIEW <<MV_NAME>> REFRESH NEXT <<REFRESH_INTERVAL>>;

The materialized views used by MFT are:

  • MV_MFT_PAYLOAD_INFO

  • MV_MFT_SOURCE_INFO

  • MV_MFT_SOURCE_MESSAGE

  • MV_MFT_TARGET_INFO

  • MV_MFT_TRANSFER

  • MV_MFT_TRANSFER_COUNT_INFO