I don't think there is such algorithm. Its best to run load test with your 
estimated settings and fine tune them if necessary.

memoryUsage should be below the JVM heap size to leave enough heap for other 
broker tasks that storing messages. How much there is needed for other tasks 
depends on the number of clients connected to the broker and the number of 
destinations. Again, there is no simple formula.

storeUsage can be as big as your disk capacity (or JDBC database capacity) if 
really needed. To find the appropriate setting you need to ask yourself you man 
messages you expect your broker to buffer at peak times and what is the average 
message size.

Similar for temp usage which is used for non-persistent messages.

If you have a scenario where producer and consumer are equally fast and you 
don't expect messages to pile up in your broker then you can go with fairly low 
values for each of the settings above. 

Hope this helps a bit.


Torsten Mielke
tmie...@redhat.com
tmielke.blogspot.com





On Jul 15, 2013, at 5:26 PM, Paul Gale wrote:

> Hi,
> 
> Is there a known algorithm or best practice folks use for determining
> values for memory usage, store usage and temp usage for a broker with
> a known JVM heap size?
> 
> I assume said algorithm would require as input the projected number of
> producers and consumers, average message size, message throughput
> estimate, number of destinations, etc.
> 
> Note: to simplify things we're using only persistent messaging,
> durable topic subscribers (no queues) and most producers do not employ
> PFC.
> 
> Thanks,
> Paul

Reply via email to