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