[jboss-as7-dev] Controlling Maximum Number of JBoss Web HTTP Threads

Brian Stansberry brian.stansberry at redhat.com
Thu Oct 20 15:24:41 EDT 2011


If the web subsystem config is going to change, I'd like to see if it 
can be made to work the way JCA does[1] -- a config element aligned with 
the appropriate pool type in the jboss-as-threads.xsd.

[1] 
https://github.com/jbossas/jboss-as/blob/master/build/src/main/resources/docs/schema/jboss-as-jca_1_0.xsd#L120

On 10/20/11 2:17 PM, Andrig Miller wrote:
> Good thing you looked at the code. I assumed that it impacted the
> threads. I guess the defaults have always been big enough for all the
> tests I have done then. We should open a JIRA on JBoss Web to add the
> maxThreads attribute to the XML schema that goes into domain.xml and
> standalone.xml, and have it defined as read-write, so this can be changed.
>
> Andy
>
> ------------------------------------------------------------------------
>
>     *From: *"Benjamin Browning" <bbrowning at redhat.com>
>     *To: *"Andrig Miller" <anmiller at redhat.com>
>     *Cc: *"jboss-as7-dev at lists.jboss.org Development"
>     <jboss-as7-dev at lists.jboss.org>
>     *Sent: *Thursday, October 20, 2011 12:02:56 PM
>     *Subject: *Re: Controlling Maximum Number of JBoss Web HTTP Threads
>
>     The max-connections attribute has no impact on the maximum http
>     threads. If you look at the code, all it does is set the maximum
>     poller size and sendfile size for the underlying JIoEndpoint.
>
>     To control the threads you either have to use an external executor
>     or set the maxThreads attribute on the protocol handler (which in
>     turn sets it on the underlying JIoEndpoint).
>
>     Ben
>
>     On Oct 20, 2011, at 1:47 PM, Andrig Miller wrote:
>
>         Ben,
>
>         I think all you have to do is set max-connections="n" to the
>         number of threads you want. That's what I have been doing, and
>         based on looking at the running threads through JConsole, it
>         seems to work just fine. In terms of the executor attribute, and
>         setting up a pool using JBoss Threads, I have done extensive
>         testing. I usually see only a small degradation between the two,
>         like around 1% or so.
>
>         Of course, that may vary based on what executor you choose to
>         use, but I was using the unbounded queue thread thread pool with
>         good success. I also changed the keepalive time, to keep the
>         threads around for at least an hour, so to avoid churn in my
>         testing between executions.
>
>         Andy
>
>         ------------------------------------------------------------------------
>
>             *From:*"Benjamin Browning" <bbrowning at redhat.com
>             <mailto:bbrowning at redhat.com>>
>             *To:*"Andrig Miller" <anmiller at redhat.com
>             <mailto:anmiller at redhat.com>>
>             *Cc:*"jboss-as7-dev at lists.jboss.org
>             <mailto:jboss-as7-dev at lists.jboss.org>Development"
>             <jboss-as7-dev at lists.jboss.org
>             <mailto:jboss-as7-dev at lists.jboss.org>>
>             *Sent:*Thursday, October 20, 2011 10:32:01 AM
>             *Subject:*Controlling Maximum Number of JBoss Web HTTP Threads
>
>             I split this thread off from "Two thread pools section in
>             management API" since it's not directly related.
>
>             In my testing I was never able to create an executor for
>             JBoss Web that didn't have dismal performance. Since
>             TorqueBox needs to be able to easily control the maximum
>             number of http threads we've written a simple service that
>             reads a system property and sets the http connector's
>             protocol handler's maxThreads. This works great and doesn't
>             incur the performance hit of using a separate executor. If
>             there's interest, we could submit a patch upstream to accept
>             a max-threads attribute on the connector definitions.
>
>             Ben
>
>             On Oct 20, 2011, at 12:15 PM, Andrig Miller wrote:
>
>                 One thing that I have found with playing around with the
>                 various subsystems, is JBoss Web. JBoss Web doesn't
>                 expose a thread pool configuration, just a single
>                 attribute called max-connections. It also then has an
>                 "executor" attribute, which just takes a thread pool
>                 name from the JBoss Threads configuration.
>
>                 So, this one is inconsistent with the other subsystems,
>                 and I'm not sure if it should be changed to be
>                 consistent or not, since the default doesn't use JBoss
>                 Threads. This would also complicate any "global" view in
>                 the console.
>
>                 Andy
>
>
>
>
>
>
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev


-- 
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat


More information about the jboss-as7-dev mailing list