CPU/RAM Recommendations
When considering the CPU and RAM settings for your Mirth® Connect by NextGen Healthcare infrastructure, there is no single recommendation that will work across all environments. Because you can do practically anything with Mirth® Connect by NextGen Healthcare it may take deploying, testing, and monitoring Cloudwatch metrics to determine if your settings are sufficient for your deployed channels. Both CPU and RAM are important in different ways. If your Mirth® Connect by NextGen Healthcare instances are running out of memory (this can happen if you have a lot of channels deployed or if your channels process very large messages) then it will cause your Fargate containers to stop and get recreated. Luckily with Fargate you can control CPU and RAM independently but for EC2, you have to step up to increasingly large instance types which increase both CPU and RAM. In addition, in order for Guaranteed Message Delivery to work properly, the channel message storage setting must be set to Development or Production and this means the messages will be stored several times in the database which can add up fast so keep an eye on your database storage size and configure your channels for data pruning.
We created a test that taxed CPU, RAM, and database by blasting HL7 messages containing two PDF documents to various Mirth® Connect by NextGen Healthcare server setups with channels configured to run the message through several transformations finally write out a document. The following tables show the results of the tests on various EC2 and ECS Fargate configurations and how they handled the messages.