Performance Tuning FME

AliatSafe
AliatSafe
  • Updated

Introduction

This article series covers the many ways to tune FME performance across different FME applications and at different stages of project development.

On a computer, work uses system resources. If performance is measured by the time it takes to do useful work, then excessive resource use or time wasted on non-essential work hinders performance.
Many of these factors appear in the FME log file, so this series explains how to read it in detail. This helps determine whether overall performance slows or a bottleneck occurs at a specific stage of the process.

Previously, this article series was contained within a single article. We have since split it into separate articles so we could expand on each topic and make it easier to find via search. Click the links below to jump to a topic of interest.

Performance Tuning Articles

System Hardware and Configuration

The hardware FME runs on and its configuration can significantly affect performance.

Workspace Authoring & Design Patterns

FME includes a few tools that help a workspace run faster while you author and debug it, speeding up the authoring process. Design your workspace for maximum performance as you set it up. Various design patterns can improve performance.

Post-Mortem Performance Tuning

Post-mortem debugging analyzes a process's results to assess or improve future performance. In FME, the key result of a process is the log file.

Therefore, before tuning a workspace, you need to know how to read an FME log file. Without this knowledge, users often jump to incorrect conclusions about a translation and start looking for performance issues in the wrong places.

Database Performance Tuning

Databases are a key component of many datasets, and the log file helps us assess database performance and how well FME interacts with it.

FME Updates and Improvements

As FME is developed and refined over time, it continues to improve performance. These upgrades fall into two categories: automatic and premeditated.

FME Memory Management

Memory Management is primarily an automatic process that the FME engine performs during translation. However, log file messages related to memory management can be useful to inspect.

Additional Performance Tuning Tips

In FME Workbench, you can run a profile of your FME Workspace to get a detailed log of how much time each underlying factory or function spends. For FME versions 2025.0 and below, use Tools -> Edit Header to add the directive: FME_PROFILE_RESULT_CSV, i.e.: FME_PROFILE_RESULT_CSV C:\TEMP\profile.csv

  • The profile directive isn't supported in FME Flow.
  • Remember to remove the profile directive for your production workspace, as profiling can also impact performance.

For 2025.1+, see Monitoring Workspace Performance.

It's sometimes worth using a Performance Monitoring tool, such as Performance Monitor (perfmon), to log a process's CPU and memory usage. Optionally, Process Explorer (procexp) and other System Utilities in context may also help.

Additional Resources

Was this article helpful?

We're sorry to hear that.

Please tell us why.