4 Replies Latest reply on Nov 20, 2012 8:12 AM by Remy Maucherat

    Http Keep-alive in JBoss 7.1.1.Final

    Lukas Camra Newbie

      On this page http://docs.jboss.org/jbossweb/7.0.x/config/ssl.html it says


      The Connector also supports HTTP/1.0 keep-alive.


      But how can I set it up?



      I tried to do this: https://issues.jboss.org/browse/AS7-1078 , but it didn't work either.




        • 1. Re: Http Keep-alive in JBoss 7.1.1.Final
          Paul Hinds Newbie

          Any news on this?  We have a JBoss7 server performing very badly under moderate load. We seem to be maxing out 500 threads in no time at all, all the threads, I presume, are waiting for keep-alives from clients that have nothing more they need from the server.


          I can see 500 ESTABLISHED connections which implies this is the problem.


          I dont understand how JBoss can support keep-alive without supporting configurable keep-alive timeout?



          • 2. Re: Http Keep-alive in JBoss 7.1.1.Final
            Jean-Frederic Clere Master

            you can't control the keep-alive timeout. The only thing you can control is the number of keep-alive (org.apache.coyote.http11.Http11Protocol.MAX_KEEP_ALIVE_REQUESTS).

            • 3. Re: Http Keep-alive in JBoss 7.1.1.Final
              Paul Hinds Newbie

              The ability to disable keep-alive is a very poor substiture for being able to configure the timeout.


              I have just disabled keep-alive with -Dorg.apache.coyote.http11.Http11Protocol.MAX_KEEP_ALIVE_REQUESTS=1 and our performance increases, but this means that http/1.1 keep-alive is disabled.

              Every request now has Connection:close, it makes it impossible to use JBossAS7 as a web server. We need a proper webserver infront to handle HTTP.

              • 4. Re: Http Keep-alive in JBoss 7.1.1.Final
                Remy Maucherat Novice

                Using the java.io connector for real requires either lots of threads, or disabling the keepalive, there's no other way. Or use the native connector.


                Configuring a separate keepalive timeout is not available (it will use the regular timeout instead, it is not hardcoded) as well as TCP no delay (true is the only useful value). You don't need either options, the rest are configurable. I think you should put your properties in the main configuration of AS rather than on the command line.