Hello,
Background: We are new to activemq. We planning to migrate from our current
tibco ems (which is also setup active/passive using a shared GFS file system)
to AMQ classic. AMQ will be running master & slave on the same RHEL VMs that
run tibco today and re-use the same SAN (GFS) infrastructure for kaha db
storage. Our queues contain messages destined for clients to pick up. Some
clients may not pickup promptly and messages may sit in the queues for up to 7
days. We also have our own application side logic to expire (and ack) messages
if not picked within 7 days. Single message size can vary from few kb up to
30mb. Average is around 400kb. Message volume in a business day is around 300k
high watermark.
Right now we are running AMQ classing with pretty much default configuration
values that comes out of the box.
Questions:
Are these "defaults" typically good for production use? If not, Any specific
guidance around changing them?
1. Around journalMaxFileLength. which is 32mb. I see that db-{n}.log files
will be created once 32mb is reached and those files will get garbage collected
~30 secs after messages in a log file are consumed/ack'ed. So, it appears we
are good with the 32mb default.
1. Under systemUsage section in the activemq.xml has these defaults.
<memoryUsage percentOfJvmHeap="70" />
<storeUsage><storeUsage limit="100 gb"/></storeUsage>
<tempUsage><tempUsage limit="50 gb"/></tempUsage>
Is the 100gb storeUsage limit refer the space on the kaha db storage volume?
Can this be set to say 90% of the disk space available in our SAN drive? How
about the tempUsage? What dirive/directory is that using?
1. Lastly, in the /bin/env, there is memory limits. We have at least 8 gig
(if not 16gig) in our VMs. What is the recommendation here?
# Set jvm memory configuration (minimal/maximum amount of memory)
if [ -z "$ACTIVEMQ_OPTS_MEMORY" ] ; then
ACTIVEMQ_OPTS_MEMORY="-Xms64M -Xmx1G"
Thanks.