How does Iguana use multiple cores?
This is question which comes up often when clients are figuring out what servers to buy. Iguana does make some use of threads. These components run on their own threads:
- Each translator instance.
- To/From Legacy Database components.
- To/From File components.
So more cores means that Iguana will achieve some parallelization with the additional cores. However the main thread in Iguana is responsible for co-ordinating messaging between the threads so it can become a bottleneck in some circumstances. One possible way to get more use of the CPU resources on such a machine is to consider running more than one Iguana instance on such a machine.
Server optimization will vary greatly depending on the nature of the interfaces and type of data you are running through the machine.
The monitoring tool I mentioned before is helpful in measuring the actual performance of an Iguana instance to get a feel for what the bottlenecks are. In practice we’ve found that Iguana is rarely CPU bound – it more important to spend money on high quality discs to reduce the amount of contention one sees there.