Advanced Workspace Design
Workspace design is a key factor in optimizing performance. We already know that a badly designed workspace has consequences for Best Practice, making it harder to maintain and scale. However, such a workspace also performs worse too. This becomes increasingly true as an author tackles more complex projects and constructs larger and more intricate workspaces. Even a sub-second delay per feature can be significant, when millions of records are being processing.
So this chapter covers how to design a workspace to optimize performance. These techniques can be used for new workspaces, or to update existing workspaces.
What do we mean by Performance?
According to Wikipedia, performance is a measure of the amount of useful work accomplished relative to the time and resources used.
In FME terms, good performance is the ability to process spatial and tabular data with the correct results (useful) as fast as possible (time) and using as little memory and disk space (resources) as possible.
What Can Impair Performance?
There are various factors – you might call them bottlenecks – that can cause FME to run slower than you might hope. Most of the content of this chapter covers how to overcome or relieve these factors.
Excessive Disk Operations
Physical disk drive throughput is relatively slow compared to other computing processes; therefore the more FME has to read and write to a physical disk drive, the more performance is impaired. The best performance comes from storing temporary data in memory, rather than on disk.
Underuse of Resources
Performance can be impaired when an FME translation is not using all of the available system resources. For example, there are few licensing limits to prevent FME from using all of the CPU cores on a system, and more memory resources are available to 64-bit FME than 32-bit.
Excessive Data Amounts
If performance is described as the amount of “useful” work, then nothing is going to impair performance more than unnecessary processing. The more excess information that gets read, and the further it is carried into the workspace, the less useful the work is, and the more performance suffers.
FME Lizard says… |
Hi, in this chapter I'll help power up your workspaces, and improve their performance through advanced design and optimization techniques. The first thing we'll do is deconstruct a log file, so that we understand what it means. |