[jboss-dev] Startup time for LongRunningTasksThreadPool in trunk
Brian Stansberry
brian.stansberry at redhat.com
Tue Jun 23 10:39:16 EDT 2009
Copying jboss-dev.
This is a simple dependency issue. Within the timings Scott is seeing
for the LongRunningTasksThreadPool are the create and start phases of
not-yet-installed deployments that depend on it. The JChannelFactory
bean in the jgroups-channelfactory.sar is one such. The HAPartition bean
depends on that. And it connects a JGroups channel, which uses multicast
to discover other available servers. On the first couple servers in a
group that discovery takes 2 seconds. Plus there's a bunch of other
services that depend on HAPartition and start when it does.
For AS 6 I want to make the HAPartition an on-demand service, which will
push this cost off onto whoever actually uses it. Parallel deployment
will also help, since most of the time HAPartition is starting it's just
blocking waiting for a response to its discovery packet.
The overall ~3.5 secs Scott's report shows for all this also seems high.
There's a fairly expensive JBoss Cache initialization in there that
seems to be happening twice; I need to understand why.
For understanding DefaultDS, suggest you look at what depends on it in
the all config that doesn't in the default config. Most likely the
difference in deployment time is simply the time it takes to deploy
other stuff. Perhaps JBM??? It would take a lot longer in "all" as in
clustered mode it connects 2 JGroups channels with a 2 sec discovery
phase for each -- until the AS moves to JBM 2 at which time JBM won't
use JGroups.
The jgroups-channelfactory.sar itself has no relationship to DefaultDS.
-Brian
Jaikiran Pai wrote:
> Scott Marlow wrote:
>>
>>
>> It looks like the 3.5 seconds to boot the LongRunningTasksThreadPool
>> is attributed to jgroups-channelfactory.sar (brought in for JBoss
>> Cache + DistributedState).
> That's strange, because these two seem to be independent deployments (no
> dependency either). So while installing LongRunningTasksThreadPool we
> ideally shouldn't have seen any other deployments affecting its timings.
> But this does seem to be the likely cause and it explains why the
> LongRunningTasksThreadPool boots faster (as reported by the deployer
> timings) in the "default" profile where the jgroups-channelfactory.sar
> is not present.
>
> There are other deployments (like the DefaultDS in hsqldb-ds.xml) which
> take significantly large time compared to the time in the "default"
> profile. Probably those too are affected by the jgroups-channelfactory.sar?
>
> -Jaikiran
>
--
Brian Stansberry
Lead, AS Clustering
JBoss by Red Hat
More information about the jboss-development
mailing list