There are various techniques to improve performance on FME Server.
Adding Engines to an Existing Engine Machine
Adding engines allows more jobs to be processed simultaneously.
If your license allows, you can increase the number of engines on a particular host though the Web Interface. An FME Cloud machine even allows unlimited engines. However, the hardware must be suitable to handle the increase in engines. As a general rule of thumb one CPU core per FME Engine is optimal.
Job queues are a mechanism for sending specific jobs to specific FME Engines. The reasons for using job queues include:
- Sending jobs to an FME Engine in close proximity to a data source
- Sending jobs to an FME Engine that supports a particular format
- Reserving an FME Engine for a scheduled task
- Reserving an FME Engine for quick jobs
When you create a job queue, you assign one or more FME Engines to the queue. Then, when you run a job, you can specify which queue to handle the job. This ensures that only the specified FME Engines will process that job.
By extension, you can also assign a repository to a queue. By default, all jobs are assigned to the queue of their respective workspace repository, unless another queue is specified for the job.
All engines and repositories must be assigned to a queue. If an engine or repository is not assigned to a queue explicitly, it is assigned to the Default queue.
Queue priority can be set on each queue. Priority must be an integer between 1 and 10 and defaults to 5 if not set explicitly.
The highest priority is 1 and the lowest priority is 10. If a higher priority job enters the queue it will be run before the lower priority jobs. Additionally, since repositories are assigned to queues, the repository has a huge effect on the job order.
|FME Lizard says...|
When importing from older versions of FME Server using the Backup and Restore command, any historic priority will be restored. You should review the adjusted priority upon restoring a backup. In previous versions of FME Server priority was on a scale of 1-200 and will be adjusted to be between 1-10. If a Queue with the same priority does not exist when a new job runs, it will be automatically created and added to the Engines.
Review Job Directives and the backward compatibility note on tm_priority.
"Job Queues" used to be referred to as "Job Routing" in older versions of FME Server.
In older versions, job tags were created in either configuration files or via the FME Server REST API.