On Tue, Mar 24, 2009 at 1:17 AM, Erik Drolshammer <erik-...@fjas.no> wrote:
> Bruce Snyder wrote:
>>
>> On Mon, Mar 23, 2009 at 10:00 AM, Erik Drolshammer <erik-...@fjas.no>
>> wrote:
>>>
>>> Hi!
>
> Good morning :)
>
>
>>> We try to set up two brokers according to [1] to get some redundancy in
>>> our
>>> solution. The shared filesystem is based on GFS, but it doesn't seem to
>>> work
>>> that well. The master node use a lot of cpu, but the throughput is
>>> horrible.
>>>
>>>
>>> Can anyone point me to some resources describing the setup?
>>> Any debug tips?
>>
>> The only setup that's needed for the shared filesystem master/slave is
>> noting the same data directory location for each ActiveMQ instance.
>> That's it. ActiveMQ takes care of the rest based on the filesystem
>> locking.
>
> I have this element in activemq.conf on two nodes:
>
> <broker xmlns="http://activemq.apache.org/schema/core"; useJmx="true"
>          dataDirectory="${activemq.base}/data">
>
>   <persistenceAdapter>
>      <journaledJDBC dataDirectory="/home/mq"/>
>    </persistenceAdapter>
>
> Does this seem correct (and adequate)?
>
> It seems this setup use DerbyDB and not Kahastore. Is this the only option?
> Are there alternative setups that I might try?

Yes, the journaledJDBC element will use Apache Derby by default, but
you can specify a bean to use as the datasource in the activemq.xml so
that you can use whatever database you prefer.

Other persistence options include non-journaled JDBC as noted here:

http://activemq.apache.org/persistence.html#Persistence-JDBCPersistencewithoutJournaling

If you're using JDBC-based persistence, then you should look at using
JDBC master/slave:

http://activemq.apache.org/jdbc-master-slave.html

Another persistence option is Kaha persistence as described here:

http://activemq.apache.org/persistence.html#Persistence-KahaPersistence

With this style of persistence, you should use the KahaDB master/slave:

http://activemq.apache.org/kahadb-master-slave.html

The last persistence option is to use the AMQ Message Store as described here:

http://activemq.apache.org/amq-message-store.html

This is the default persistence mechanism in ActiveMQ 5.x. If you're
using this style of persistence, then you should be using the shared
filesystem master/slave:

http://activemq.apache.org/shared-file-system-master-slave.html

>> According to the Wikipedia entry for the Google File System (GFS), it
>> is mainly used for data that is 'extremely rarely overwritten, or
>> shrunk; files are usually appended to or read.'
>>
>> http://en.wikipedia.org/wiki/Google_File_System
>>
>> Given this essential fact, I'd say that GFS is probably not a good
>> candidate for use by ActiveMQ since the ActiveMQ data is in almost a
>> constant churn of being written and removed as messages flow through
>> the broker. Could this be the cause of the high CPU usage and poor
>> throughput?
>
> Perhaps. Btw, I meant Redhat GFS [1], not Google FS. Do you know if Redhat
> FS is a good solution?
> Or what setup would you recommend?
>
> We currently use ActiveMQ 5.2.0 on RedHat platform as indicated.

Well, in reading about RedHat GFS it is a distributed, journaled
cluster filesystem and volume manager. In the quick amount of research
I performed I couldn't find any info about performance problems. But
just like any sophisticated filesystem and volume manager, tuning can
be a rather complex task requiring someone with intimate knowledge of
the filesystem and volume manager.

Bruce
-- 
perl -e 'print 
unpack("u30","D0G)u8...@4vyy9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

Apache ActiveMQ - http://activemq.apache.org/
Apache Camel - http://camel.apache.org/
Apache ServiceMix - http://servicemix.apache.org/

Blog: http://bruceblog.org/

Reply via email to