Announcement

Collapse
No announcement yet.

mirth connect performance on multiple channels

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • mirth connect performance on multiple channels

    Hello, all,

    I am tasked to do a bare bone Proof of Concept introducing Mirth Connect to the company. I use multiple threads to send thousands of sample HL7 msgs to about 50 channels using TCP/MLLP. The machine is a pretty powerful AWS C4 instance. I saw the performance decreases consistently over time to about 40 msgs/sec.

    I didn't observe any obvious CPU/memory usage/network/file IO/db IO bottlenecks. Where should I look into to find out the bottleneck? I saw others saying that Mirth Connect can handle 1000 msg/sec. I will be happy if hundreds, but 40 msgs/sec is a little bit too low for me. There are no any fancy additional business logic there other than:
    * convert the HL7 msg into xml file
    * save the data into the Mirth Connect DB, an AWS RDS PostgreSQL server

    Many thanks.

  • #2
    Are you wanting to process 1000/sec every second of every day?? That's like 86,400,000 per day. 1000 per second, 60,000 per minute. 3,600,000 per hour etc.

    save the data into the Mirth Connect DB, an AWS RDS PostgreSQL server
    Mirth Connect is already doing that for you. Are you writing it IN ADDITION to that? If you aren't pruning the channels then you are storing a lot of information including the messages received and sent.

    I work in a major hospital and we have Mirth Connect sending millions of messages every month (62,802,829 in October) to various systems within and outside the network and I don't see that kind of activity every single second all the time. As I watch production just now I see some channels get bursts of 2 or 56 and they get delivered almost instantly (I have the dashboard set to refresh every second). Sometimes a vendor's system will go down and one of my channels will queue 18,000+ messages within an our or so. Then once the connection is back Mirth will send them in a few minutes.

    It also depends on a lot of factors outside of Mirth application/appliance. How is network traffic? What other systems are sending and absorbing the messages? Are they taking a long time to receive and close connections? Is Mirth on a server? What are it's specs? Are you allocating server reasources appropriately? Are your channels configured correctly? Are you using multiple threads to deliver?

    It's more than "can mirth process 1000/sec".

    You can also stand up multiple Mirth Appliances/Applications of you run into throughput issues. If you need 28 Mirth Connects up and running to accomplish your needs you can. It's free.
    Last edited by appsbyaaron; 11-17-2017, 09:15 AM.

    Comment


    • #3
      Queue Settings and Message Storage options have a big impact on performance.

      Depending on our specific requirements I would start with adjusting these settings.
      Best,

      Kirby

      Mirth Certified|Epic Bridges Certified|Cloverleaf Level 2 Certified

      Appliance Version 3.11.4
      Mirth Connect Version 3.8.0
      Java Version 1.6.0_45-b06
      Java (64 bit) Version 1.6.0_45-b06
      Java 7 (64 bit) Version 1.7.0_151-b15
      Java 8 (64 bit) Version 1.8.0_181-b13
      PostgreSQL Version 9.6.8

      Comment


      • #4
        thanks for the replies. we are targeting 45 hospitals from the same organization. I will try out the queue settings and the storage.

        Comment


        • #5
          A really dummy solution, but it increases the throughput 3 times for me. Post it here in case any newbie will find it useful:
          Mirth Connect Server Manager > Server > Server Memory: increase the size there

          Comment


          • #6
            Yes server resource configuration is important


            Also, you can increase the number of threads on a channel by channel basis. this will speed the processing of messages, but message order is not guaranteed. There is additional configuration needed to increase the threads and still guarantee message order.
            Last edited by kirbykn2; 11-29-2017, 06:02 AM.
            Best,

            Kirby

            Mirth Certified|Epic Bridges Certified|Cloverleaf Level 2 Certified

            Appliance Version 3.11.4
            Mirth Connect Version 3.8.0
            Java Version 1.6.0_45-b06
            Java (64 bit) Version 1.6.0_45-b06
            Java 7 (64 bit) Version 1.7.0_151-b15
            Java 8 (64 bit) Version 1.8.0_181-b13
            PostgreSQL Version 9.6.8

            Comment


            • #7
              thanks

              Comment

              Working...
              X