Skip to main content

I am working on revamping our corporate FME Server environment and I am trying to figure out how to spec our servers. How do the engines use the cpu cores? If I have two engines running on a four core machine, are they each using two or are there two cores sitting idle (Assuming both cores are running jobs)?

Both cores will just be idle, although depending on how you use parallel processing inside of a workspace they can use the idle cores. ​

Keep in mind though that there are a lot of other things which FME Server does (automations etc) that having more cores is not a bad thing. But they'll likely not be used to their full potential.

one thing which you might want to look into is dynamic engines. Depending on how often you expecting to be running jobs it can be a cost effective way to take more advantage of your cpu.

Essentially you pre-purchase engine time and can have as many engines as you need at any time. Idle engines do not use cpu time, it's just when the engine is processing a job​


When reccomending system specs for our clients we typically recommend (<# of Engines>/2)+1 Cores (4 engines - 3 cores, 11 engines -7 cores) But as @virtualcitymatt​  alluded to, FME Server does do more than just run engines. Also with parallel processing you can very easily chew up cores.

 

Its really dependent on typical use case. If FME server is typically used for short, easy to process jobs, then you may get away with 4 engines per core. If you're liekly to be processing massive datasets that greatly benefit from parallel processing then you may only want one engine per core.

 

Temp storage is something worth investing in. The faster the temp storage is the better (in terms of IOPs). Again, size is dependent on typical usage. RAM is also typical usage specific


Reply