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

    Http Keep-alive in JBoss 7.1.1.Final

    lukascz

      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.

       

      Thanks,

      Lukas

        • 1. Re: Http Keep-alive in JBoss 7.1.1.Final
          teknopaul

          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?

           

          Paul

          • 2. Re: Http Keep-alive in JBoss 7.1.1.Final
            jfclere

            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
              teknopaul

              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
                rmaucher

                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.