2 Replies Latest reply on Mar 15, 2018 5:18 PM by Narayana Karumuri

    Jobs EAP 7.1 Performance tuning on IO

    Narayana Karumuri Newbie

      Hi,

       

      We were using EAP 6 earlier and now upgrading to EAP7.

       

      I am concerned about the IO subsystem tuning as my application(Large size) experiences heavy traffic.

       

      Need suggestions on how much values i have to keep in the io subsystem to handle high load.

       

      I have 8 core CPU in production so would like to know how can i tune the io subsystem parameters(io-threads,task-max-threads).

       

      <subsystem xmlns="urn:jboss:domain:io:2.0">

          <worker name="default"/>

          <buffer-pool name="default"/>

      </subsystem>

       

      Default it says -

      io-threads=Specify the number of I/O threads to create for the worker. If not specified, a default will be chosen, which is calculated by cpuCount * 2

      task-max-threads=Specify the maximum number of threads for the worker task thread pool.

        If not set, default value used which is calculated by formula cpuCount * 16, as long as MaxFileDescriptorCount jmx property allows that number, otherwise calculation takes max into account to adjust it accordingly.

       

      So considering 8 Core in my case, io-threads=16(8*2) & task-max-threads=128(8*16)

       

      How much max i can change the values for io-threads, task-max-threads ..?

       

      When i was using EAP 6, we get this issue because of heavy load,

      [org.apache.tomcat.util.net.JIoEndpoint] (-Acceptor-0) Maximum number of threads (4096) created for connector with address

        • 1. Re: Jobs EAP 7.1 Performance tuning on IO
          Tomaz Cerar Master

          In EAP 7, and undertow as web server whole model is different from what was there in EAP6.

           

          now everything is done with non blocking(NIO) IO which as result doesn't require such huge threads as they ware needed with blocking IO (BIO)

           

          I would advise you to not change any config at start and run some perf test first to see if you even need any configuration change.

           

          For example if your application spends lots of time in processing blocking requests (like servlets) than consider increasing task-max-threads which defines just that.

          • 2. Re: Jobs EAP 7.1 Performance tuning on IO
            Narayana Karumuri Newbie

            Thanks Tomaz Cerar.

             

            Is there any limit on task-max-threads or we can increase this number to any extent if i see performance issue with default configuration ?

             

            Also is there any relation b/w io-threads and task-max-threads, like if change task-max-threads should i need to change io-threads as well ?