[jboss-dev] 1' hornetq delay on first boot

Jaikiran Pai jpai at redhat.com
Wed Jul 21 10:34:38 EDT 2010


On Wednesday 21 July 2010 07:58 PM, Bill Burke wrote:
> What about creating the files on demand?  Would that speed up even more?
 From what I understand of the documentation here 
http://hornetq.sourceforge.net/docs/hornetq-2.1.0.Final/user-manual/en/html/persistence.html

<quote>
journal-min-files:The minimum number of files the journal will maintain. 
When HornetQ starts and there is no initial message data, HornetQ will 
pre-create journal-min-files number of files. Creating journal files and 
filling them with padding is a fairly expensive operation and we want to 
minimise doing this at run-time as files get filled. By precreating 
files, as one is filled the journal can immediately resume with the next 
one without pausing to create it. Depending on how much data you expect 
your queues to contain at steady state you should tune this number of 
files to match that total amount of data.
</quote>

I think setting that value to 0 would allow for on-demand creation. I'll 
give it a try locally and run the smoke tests to see if there are any 
obvious issues with that. If setting it to 0 works fine, then I'll 
change the config to:

<journal-min-files>${hornetq.journal.min.files:0}</journal-min-files>

P.S: If anyone from HornetQ team knows more details around this, feel 
free to reply.

-Jaikiran

>
> Jaikiran Pai wrote:
>> Done in r106975. Smoke tests and embedded testsuite passes with these 
>> changes. I see improved boot time (around 3-4 seconds) on first boot 
>> locally.
>>
>> The AS build has been changed to ignore the hornetq-configuration.xml 
>> file(s) that are being pulled in from hornetq jars. Instead the 
>> customized hornetq-configuration.xml (i.e. AS specific 
>> journal-file-size and journal-min-files) files are now made available 
>> in AS trunk at 
>> AS_TRUNK/hornetq-int/src/resources/config/clustered/hornetq-configuration.xml 
>> (for all profile) and 
>> AS_TRUNK/hornetq-int/src/resources/config/non-clustered/hornetq-configuration.xml 
>> (for default profile). These files are now being used in the build 
>> and will be placed in JBOSS_HOME/server/all/deploy/hornetq and 
>> JBOSS_HOME/server/default/deploy/hornetq folders.
>>
>> I have attached the patch to JIRA JBAS-8148. Also, I have left that 
>> JIRA open, since the HornetQ team needs to decide whether it's better 
>> to move the AS specific config files from HornetQ trunk to AS trunk 
>> in SVN.
>>
>> -Jaikiran
>>
>> On Wednesday 21 July 2010 05:34 PM, Dimitris Andreadis wrote:
>>> Jaikiran, can you see if you can override the descriptor in the AS 
>>> build, because I don't see any interest from the messaging team.
>>>
>>> Dimitris Andreadis wrote:
>>>> I've made it critical 2 weeks ago but it's just sitting there.
>>>>
>>>> Jaikiran Pai wrote:
>>>>> Is this fix being planned for M4 (which will be tagged tomorrow)?
>>>>>
>>>>> -Jaikiran
>>>>> On Friday 02 July 2010 04:26 PM, Dimitris Andreadis wrote:
>>>>>> https://jira.jboss.org/browse/JBAS-8148
>>>>>> ...
>>>>>> <!-- Default journal file size is 10Mb, reduced here to 1Mb for 
>>>>>> faster first boot -->
>>>>>> <journal-file-size>${hornetq.journal.file.size:1048576}</journal-file-size> 
>>>>>>
>>>>>>
>>>>>> <!-- Default journal min file is 2, increase for higher average 
>>>>>> msg rates -->
>>>>>> <journal-min-files>${hornetq.journal.min.files:2}</journal-min-files> 
>>>>>>
>>>>>> ...
>>>>>>
>>>>>> I think those are good for developer settings, let me know if you 
>>>>>> see any issues. It will
>>>>>> just create more 1Mb journal files, as needed, and the user can 
>>>>>> override those on the
>>>>>> command line.
>>>>>>
>>>>>> First boot on crappy laptop for 'default' drops from 92'->32', 
>>>>>> second boot 28'
>>>>>>
>>>>>> Tim Fox wrote:
>>>>>>> http://hornetq.sourceforge.net/docs/hornetq-2.1.0.Final/user-manual/en/html/persistence.html 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://hornetq.sourceforge.net/docs/hornetq-2.1.0.Final/user-manual/en/html/perf-tuning.html#d0e11157 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> You could reduce this number if you like. Files will still be 
>>>>>>> created on
>>>>>>> demand, it just gives you less hit on demand if the files are
>>>>>>> pre-created, and consequently better performance in "out of the 
>>>>>>> box"
>>>>>>> benchmarks, since it won't have to create the files during the 
>>>>>>> benchmark
>>>>>>> run.
>>>>>>>
>>>>>>> Alternatively you could ship some actually empty binary journal 
>>>>>>> files in
>>>>>>> the AS distro - but this would make the distro larger, nor sure 
>>>>>>> if you
>>>>>>> would like that.
>>>>>>>
>>>>>>> On 01/07/10 12:38, Dimitris Andreadis wrote:
>>>>>>>> It creates 10 (x10MB) files, AFAICT.
>>>>>>>>
>>>>>>>> Tim Fox wrote:
>>>>>>>>> The first time you run it, it creates the journal files.
>>>>>>>>>
>>>>>>>>> The more files you have configured it with (see journal-min-files
>>>>>>>>> param in user manual) the longer it will take to create them. 
>>>>>>>>> I don't
>>>>>>>>> know how many AS is using.
>>>>>>>>>
>>>>>>>>> On 01/07/10 12:25, Dimitris Andreadis wrote:
>>>>>>>>>> On a 4y old WinXP laptop, hornetq seems to be adding a 1 minute
>>>>>>>>>> delay on the first boot, while creating the
>>>>>>>>>> server/xxx/data/hornetq/journal/* files
>>>>>>>>>>
>>>>>>>>>> 2nd boot comes without that delay. Can we avoid this?
>>>>>>>>>>
>>>>>>>>>> 14:03:27,624 INFO  [AbstractServer] Starting: JBossAS
>>>>>>>>>> [6.0.0.SNAPSHOT "Neo"]
>>>>>>>>>> 14:03:29,702 INFO  [ServerInfo] Java version: 1.6.0_16,Sun
>>>>>>>>>> Microsystems Inc.
>>>>>>>>>> 14:03:29,702 INFO  [ServerInfo] Java Runtime: Java(TM) SE 
>>>>>>>>>> Runtime
>>>>>>>>>> Environment (b
>>>>>>>>>> uild 1.6.0_16-b01)
>>>>>>>>>> 14:03:29,702 INFO  [ServerInfo] Java VM: Java HotSpot(TM) 
>>>>>>>>>> Server VM
>>>>>>>>>> 14.2-b01,Sun
>>>>>>>>>>   Microsystems Inc.
>>>>>>>>>> 14:03:29,702 INFO  [ServerInfo] OS-System: Windows XP 5.1,x86
>>>>>>>>>> 14:03:29,702 INFO  [ServerInfo] VM arguments: 
>>>>>>>>>> -Dprogram.name=run.bat
>>>>>>>>>> -Xms128M -X
>>>>>>>>>> mx512M -XX:MaxPermSize=256M 
>>>>>>>>>> -Dsun.rmi.dgc.client.gcInterval=3600000
>>>>>>>>>> -Dsun.rmi.dg
>>>>>>>>>> c.server.gcInterval=3600000 -Dorg.jboss.resolver.warning=true
>>>>>>>>>> -Djava.endorsed.di
>>>>>>>>>> rs=X:\svn\jboss-trunk\build\target\jboss-6.0.0-SNAPSHOT\lib\endorsed 
>>>>>>>>>>
>>>>>>>>>> 14:03:29,780 INFO  [JMXKernel] Legacy JMX core initialized
>>>>>>>>>> 14:03:37,811 INFO  [AbstractServerConfig] JBoss Web Services 
>>>>>>>>>> - Stack
>>>>>>>>>> CXF Server
>>>>>>>>>> 3.3.1.SP1
>>>>>>>>>> 14:03:38,405 INFO  [JSFImplManagementDeployer] Initialized 2 JSF
>>>>>>>>>> configurations:
>>>>>>>>>>   [Mojarra-1.2, Mojarra-2.0]
>>>>>>>>>> 14:03:42,749 WARNING [FileConfigurationParser] AIO wasn't 
>>>>>>>>>> located on
>>>>>>>>>> this platfo
>>>>>>>>>> rm, it will fall back to using pure Java NIO. If your 
>>>>>>>>>> platform is
>>>>>>>>>> Linux, install
>>>>>>>>>>   LibAIO to enable the AIO journal
>>>>>>>>>> 14:03:47,483 WARNING [FileConfigurationParser] AIO wasn't 
>>>>>>>>>> located on
>>>>>>>>>> this platfo
>>>>>>>>>> rm, it will fall back to using pure Java NIO. If your 
>>>>>>>>>> platform is
>>>>>>>>>> Linux, install
>>>>>>>>>>   LibAIO to enable the AIO journal
>>>>>>>>>> 14:03:47,671 INFO  [JMXConnector] starting JMXConnector on host
>>>>>>>>>> 127.0.0.1:1090
>>>>>>>>>> 14:03:48,202 INFO  [MailService] Mail Service bound to 
>>>>>>>>>> java:/Mail
>>>>>>>>>> 14:03:49,280 INFO  [HornetQServerImpl] live server is starting..
>>>>>>>>>> 14:03:49,358 INFO  [JournalStorageManager] Using NIO Journal
>>>>>>>>>> 14:03:49,374 WARNING [HornetQServerImpl] Security risk! It 
>>>>>>>>>> has been
>>>>>>>>>> detected tha
>>>>>>>>>> t the cluster admin user and password have not been changed 
>>>>>>>>>> from the
>>>>>>>>>> installatio
>>>>>>>>>> n default. Please see the HornetQ user guide, cluster 
>>>>>>>>>> chapter, for
>>>>>>>>>> instructions
>>>>>>>>>> on how to do this.
>>>>>>>>>> <-- HERE -->
>>>>>>>>>> 14:04:52,077 INFO  [NettyAcceptor] Started Netty Acceptor 
>>>>>>>>>> version
>>>>>>>>>> 3.2.0.Final-r2
>>>>>>>>>> 292 127.0.0.1:5455 for CORE protocol
>>>>>>>>>> 14:04:52,092 INFO  [NettyAcceptor] Started Netty Acceptor 
>>>>>>>>>> version
>>>>>>>>>> 3.2.0.Final-r2
>>>>>>>>>> 292 127.0.0.1:5445 for CORE protocol
>>>>>>>>>> 14:04:52,092 INFO  [HornetQServerImpl] HornetQ Server version
>>>>>>>>>> 2.1.1.Final (Strip
>>>>>>>>>> ey, 119) started
>>>>>>>>>>
>>>>>>>>>> [snip]
>>>>>>>>>>
>>>>>>>>>> 14:08:24,827 INFO
>>>>>>>>>> [org.jboss.bootstrap.impl.base.server.AbstractServer] JBossAS
>>>>>>>>>>   [6.0.0.SNAPSHOT "Neo"] Started in 1m:30s:656ms
>>>>>> _______________________________________________
>>>>>> jboss-development mailing list
>>>>>> jboss-development at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>> _______________________________________________
>>>>> jboss-development mailing list
>>>>> jboss-development at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
>



More information about the jboss-development mailing list