Performance Tuning FME: System Hardware and Configuration

Liz Sanderson
Liz Sanderson
  • Updated


The hardware upon which FME is run, and its configuration, can greatly affect performance. For other performance tuning tips & tricks, see Performance Tuning FME.


Technical Specifications

Technical specifications for FME - and the system requirements for it - can be found in the FME Platform Technical Specifications article. 

System Configuration and the FME Log File

The FME log file contains important information about the system configuration and is a good place to look when trying to fine-tune performance.

Temporary Directory Location

One of the first items of importance in the log file is the temporary directory:

INFORM|FME Configuration: Temporary folder is `C:\Users\imark\AppData\Local\Temp', 
set from environment variable `TEMP'

You'll also see a line commenting on the amount of disk space available in that directory...

INFORM|System Status: 46.20 GB of disk space available in the FME temporary folder 

When FME runs a large translation, it often requires a lot of temporary disk space. Available disk space is important, but so is the speed of any disk activity.

Tip: Point your temporary directory to a fast disk with plenty of space. An SSD (solid-state drive) disk is preferred. See Setting the Temporary Directory for how to set FME_TEMP. Where possible, use a different disk to the one used by the operating system.

You could also try a RAM drive (also called a RAM disk) for your temporary directory, although the benefits are more apparent on memory-limited 32-bit systems. Modern systems should be using excess memory for caching anyway.

Setting the FME_TEMP and FME_HOME paths to a network drive results in performance degradation. For optimal performance, ensure that these paths are local. As of FME 2022.0, a warning in the log will appear if these paths are set to a network drive. 

FME Configuration: Temporary folder `\\networkdrive\Test\temp\wbrun_1648504346434_59492\fmetmp_0` is on a network drive. It is recommended to set FME_TEMP to a local drive for best performance 


System Status

Other lines in the FME log tell us the status of the machine in terms of platform, hardware, and encoding:

Operating System: Microsoft Windows Server 2019 64-bit  (Build 17763)
FME Platform: WIN64
System Status: 16.72 GB of disk space available in the FME temporary folder (C:\Users\LSANDE~1\AppData\Local\Temp\2\wbrun_1656368259952_4660\fmetmp_0)
System Status: 30.94 GB of physical memory available
System Status: 15.76 GB of virtual memory available

Physical memory is the amount of memory installed in the system. Here, it is 15.76GB. Virtual memory is an aspect of the system's own memory management systems. It's a technique where the system swaps data around to compensate for low-memory scenarios. Here it has 15.76GB of space designated as virtual memory.
Tip: Obviously, the more physical and virtual memory available, the better performing the computer will be.

Virtual Machines

A Virtual Machine is a computer system that does not physically exist but is emulated on a physical computer.

Tip: A Virtual Machine can provide superior performance on a temporary basis, which is ideal for running FME workspaces with large amounts of data processing.

However, FME deployed on a Virtual Machine can sometimes run slower than on an equivalent desktop machine. This is often due to a poorly configured VM environment where several VM machines are sharing resources that are actually designed for a single-use machine, such as network bandwidth, memory resources, and shared drives.
Network latency on the VM cluster may be an issue when accessing a database from a VM. The host machine must be capable of supporting the number of guest VM machines, including the network bandwidth to support database access and network file system.

Tip: Past experience has shown that disabling dynamic memory management for the virtual machines' environment, may improve memory allocation and performance.

Machine Comparisons

Sometimes, the same workspace performs differently on different computers, even when the specification looks identical. If you see different performance characteristics on different machines, then it might be because of one of these differences:

  • Is one computer physical and the other virtual?
  • Is the operating system the same, with the same version and the same OS updates (service packs)?
  • Is there a larger or faster CPU cache to access data more quickly on one system?
  • Is the version, build, and bitness (32-bit vs 64-bit) of FME the same?
  • Is the FME temporary directory on the same sort of drive (local/network or HDD/SSD)?
  • Are the data sources on the same sort of drive (local/network or HDD/SSD)?
  • Does each install of FME have the same access permissions to the source/destination data?
  • Is one system running extra software that might consume resources?
  • Is one system running potentially blocking services like a firewall or antivirus?
  • Does one machine have better network bandwidth?
  • Is one machine physically closer to the database server than the other?
  • Is there competition for memory, disk, network, CPU, or other limiting resources?

In general, to improve performance, many factors need to be static, and those that cannot be controlled need to be minimized. Using different machines destroys most controls.

32-bit Windows and 32-bit FME

FME 2021.2 was the last release to support 32-bit, please see FME 32-bit Windows Support for more information. For those that still do use 32-bit, Windows restricts the memory available to a single process to 2Gbytes. This low number can negatively affect performance.
You may increase the amount of memory available by setting the /3GB Switch.
Sometimes 32-bit FME is used because it supports an older format that 64-bit does not. In this case, you can use 32-bit FME running on a 64-bit workstation, to access greater memory resources.
However, overall our recommendation is to use FME 64-bit running on a 64-bit processor.
Tip: Use 64-bit FME wherever possible. However, if 32-bit FME is unavoidable, either increase the amount of available memory on 32-bit Windows by using the /3GB switch or use a 64-bit computer.


Was this article helpful?



Please sign in to leave a comment.