I think you may be experiencing a delay as the index is resized, there
should be some indication of this in the brokers log file (see
source[1]). If this is the case, one solution is to allocate as
sufficient index table at startup through the AMQPersistenceAdapter
property indexBinSize.

check your log files to determine what the max required should be, it
starts at 1k and increments by doubling.

An alternative approach may be to use a memory or non persistent index
and reduce the memory usage available to the queue, hence giving more
of the JVM resources to the index.


[1] 
http://activemq.apache.org/maven/5.2.0/activemq-core/apidocs/src-html/org/apache/activemq/kaha/impl/index/hash/HashIndex.html#line.545

2009/1/22 Cybexion <cybex...@email.de>:
>
> Hi,
>
> I have a queue that should hold up to 30 GB of small persistent messages:
>  <systemUsage sendFailIfNoSpace="true">
>                <memoryUsage>
>                    <memoryUsage limit="1gb"/>
>                </memoryUsage>
>                <storeUsage>
>                    <storeUsage limit="30gb" store="#store"/>
>                </storeUsage>
>
> The queue consists of 10 MB files and are specified like this:
>       <bean id="store"
> class="org.apache.activemq.store.amq.AMQPersistenceAdapter">
>                <property name="directory" value="${activemq.base}/data"/>
>                <property name="maxFileLength" value="10000000"/>
>                <property name="checkpointInterval" value="60000"/>
>                <property name="cleanupInterval" value="30000"/>
>                <property name="persistentIndex" value="true"/>
>        </bean>
>
> This night I made a test with lots of produceds an just 5 consumer. I wanted
> to fill the queue to its limit.
> Well, so far I managed to send 18 Million messages into the queue. I have 20
> % Store usage so far.
> What I noticed is, that mostly the messages are send within 0-20
> milliseconds. However sometimes I have a lot of messages which take 10+
> seconds to be send. This is not good in my scenario. I need a producer that
> should be very very fast in sending the messages.
> Question now:
> Could it be that the number of data files or the size of the datafiles has
> impact on the performance?
> Would it be better to have one queue big file with 30GB of size instead of
> hundreds of files having 1 MB?
>
> The key index ist persistent. I tested this and it seems to be the only way
> of NOT getting an out of memory error.
> Does it make sense to change the indexkeysize or the indexpagesize in the
> store? Would this maybe gice additional constant performance?
>
> Btw:
> I'm using AMQ 5.2
>
> Thanks and best regards
>
> Jörg
>
>
>
>
>
>
> --
> View this message in context: 
> http://www.nabble.com/Performance-in-relation-to-queue-size-tp21601585p21601585.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>



-- 
http://blog.garytully.com

Open Source SOA
http://FUSESource.com

Reply via email to