[jboss-as7-dev] web subsystem - http connector configuration

Michal Linhard mlinhard at redhat.com
Mon May 23 05:10:44 EDT 2011


On 05/22/2011 09:22 PM, Remy Maucherat wrote:
> On Fri, 2011-05-20 at 11:20 +0200, Michal Linhard wrote:
>> Hello all,
>>
>> AS 7.0.0.Beta4 snapshot seems to be using JBOSSWEB_7_0_0_CR1
>> currently I cannot see a way to configure all HTTP Connector properties
>> I'm used to from
>> http://docs.jboss.org/jbossweb/3.0.x/config/http.html
>> because the configuration schema/model and the web subsystem don't allow
>> it.
>> (deducing from what I've seen in:
>> https://github.com/jbossas/jboss-as/blob/master/web/src/main/java/org/jboss/as/web/WebConnectorAdd.java
>> https://github.com/jbossas/jboss-as/blob/master/web/src/main/java/org/jboss/as/web/WebConnectorService.java)
>>
>> I need stuff like
>>            connectionTimeout
>>            maxThreads
>>            maxHttpHeaderSize
>>            maxKeepAliveRequests
>>            acceptCount
>>            disableUploadTimeout
>>
>> Is this going to be implemented ? Is there a JIRA about it ?
>>
>> currently without being able to tweak these parameters, I'm unable to
>> setup EDG6 REST server module performance tests properly - without the
>> tweaking the performance is quite poor.
> I'm not going to add most of these setting which are almost always
> misused, and I will certainly not tell you I did it if I do it :) I want
> your performance to be good with the defaults, so we now have to
> investigate why it is not.
>
OK, let's investigate

EDG 5.1 http connector settings:
https://svn.devel.redhat.com/repos/jboss-qa/load-testing/etc/edg-51/stress/server/datagrid/deploy/jbossweb.sar/server.xml

EDG 6.0 (dummy version) http connector settings:
(dummy version is 7.0.0.Beta3 + Infinispan 5.0.0.CR2 REST server 
deployed in to it as war)
https://svn.devel.redhat.com/repos/jboss-qa/load-testing/etc/edg-60/stress/standalone/configuration/standalone.xml
(the max-connections attribute is set to 10000 and network interface is 
set to correct one before the test)

Infinispan settings are almost the same for both cases, I of course 
cannot eliminate the possibility that the performance differences are 
caused by infinispan, but in this case I really suspect the web connector.

In the load test I'm doing I start 1 AS with Infinispan, load the cache 
with some data set, do some warm-up with 1/10th of final load and then
for one minute I apply a load of 1000 http clients and measure 
statistics during this period.
Each client does a request, waits 100ms and repeats, so theoretical 
maximum request throughput is 10000 ops/sec

EDG 5.1 with the above settings does 9,612.8 ops/sec and average 
response time is 1 ms.
EDG 6.0 with the above settings does 1,748.6 ops/sec and average 
response time is 39 ms.
some clients even give me read timeout exceptions in the second case.

before digging deeper I wanted to sync the settings with EDG5.1, which 
you discourage me from, so let's see
what are the default values you wanna keep untouched ?
maxThreads seems to be set to 512*number of CPUs, which on the 
perf17.mw.lab.eng.bos.redhat.com where I'm testing this should be 4096, 
which should be enough
maxKeepAliveRequests seems to be set to 100, which might be enough, I'm 
not sure how this affects the performance, IMO shouldn't be a big 
factor, from what I know it's just establishing new connection every 100 
requests, that's something we can survive.
maxHttpHeaderSize is something that probably doesn't have effect on my 
test, because I'm controlling the size of the headers
disableUploadTimeout, connectionTimeout -this also shouldn't affect me, 
because if it does I should be seeing server side timeout exceptions and 
I don't

only thing I'm worried about is acceptCount. do you know what is the 
default value there ?

and anyway it seems that you should be able to specify executor for your 
connector, I tried this and didn't work for me. Is this already 
implemented ?

m.

-- 
Michal Linhard
Quality Assurance Engineer

Red Hat Czech s.r.o.
Purkynova 99 612 45 Brno, Czech Republic
phone: +420 532 294 320 ext. 62320
mobile: +420 728 626 363



More information about the jboss-as7-dev mailing list