activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Gale <paul.n.g...@gmail.com>
Subject Re: Influence of persistence adapter settings on speed of failover.
Date Thu, 01 Aug 2013 23:57:53 GMT
Any of the illuminati have thoughts about my observations that they could
share?


On Thu, Aug 1, 2013 at 11:36 AM, Paul Gale <paul.n.gale@gmail.com> wrote:

> Hi,
>
> I have been experimenting with failover using the Master/Slave shared
> storage strategy. I have a custom lease locker (shown in the example below)
> that correctly obtains the lock within a couple of seconds of when the
> other broker dies. However, depending on the value of the other settings
> for the persistence adapter it can take over 2 minutes before the new
> Master turns on its transport connectors.
>
> Using these values shown below the broker takes just a few seconds to turn
> on its transport connectors. The message store consisted of a dozen or so
> 32mb journal files:
>
> <persistenceAdapter>
>   <kahaDB directory="${activemq.data}/kahadb"
>           indexCacheSize="10000"
>           indexWriteBatchSize="1000"
>           cleanupInterval="30000"
>           checkpointInterval="5000"
>           journalMaxFileLength="32m"
>           journalMaxWriteBatchSize="4m"
>           lockKeepAlivePeriod="2500"
>           useLock="true">
>     <locker>
>       <m:manheim-lease-database-locker
>               failIfLocked="false"
>               maxAllowableDiffFromDBTime="1000"
>               brokerService="#theBroker"
>               lockDataSource="#mysql-ds"
>               createLockTableOnStartup="true"
>               lockAcquireSleepInterval="5000"
>               lockTableName="activemq_lab_lock">
>       </m:manheim-lease-database-locker>
>     </locker>
>   </kahaDB>
> </persistenceAdapter>
>
> However, if I set the values as shown below it takes over 2 minutes for
> the master broker to turn on its transport connectors. These adapter values
> were chosen based on one of the 'performance examples' that ships with
> ActiveMQ:
>
> <persistenceAdapter>
>   <kahaDB directory="${activemq.data}/kahadb"
>           indexCacheSize="100000"
>           indexWriteBatchSize="100000"
>           cleanupInterval="300000"
>           checkpointInterval="50000"
>           journalMaxFileLength="1g"
>           journalMaxWriteBatchSize="62k"
>           lockKeepAlivePeriod="2500"
>           useLock="true">
>     <locker>
>       <m:manheim-lease-database-locker
>               failIfLocked="false"
>               maxAllowableDiffFromDBTime="1000"
>               brokerService="#theBroker"
>               lockDataSource="#mysql-ds"
>               createLockTableOnStartup="true"
>               lockAcquireSleepInterval="5000"
>               lockTableName="activemq_lab_lock">
>       </m:manheim-lease-database-locker>
>     </locker>
>   </kahaDB>
> </persistenceAdapter>
>
> Note that the message store resides on an NFS v3 mount.
>
> Thanks,
> Paul
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message