Maximum recommended number of persistent queues per router?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Maximum recommended number of persistent queues per router?

sanjan
Hi, Do you have any recommendation about maximum number of persistent queues per router.
I've got a machine with 16 GB RAM running RHEL 6. and I can dedicate 14GB of it for the SwiftMQ routers if needed.

I need to have about 10000 queues that would hold 1000 messages in each queue at a time.
a message size is around 6KB. ie: each queue would take approximately 6MB of page.db.
But I'm not sure about the physical memory.

I need to determine how many routers can I/should I put in a single server. with how much Max heap size.
and how many queues in each router.

Also what is the recommended JRE version for SwiftMQ 9.4.2



Reply | Threaded
Open this post in threaded view
|

Re: Maximum recommended number of persistent queues per router?

IIT Software
Administrator
I don't know how much memory you can allocate to a JVM but at some time you will get a GC problem, that's assured. So more smaller JVMs are better than a few big ones.

<number queues> * <queue cache size> * <messages size> = required heap size for queues

Per default a queue cache is limited by 500 messages or 2 MB. In case of 6 KB messages the 2 MB limit will be used. You can decrease it by setting max-cache-size-kb property to a lower value.

However, 10K queues is way too much. Just imagine how big your routerconfig.xml would be. 1K queues per router (so 10 routers) would consume maximum 2 GB queue cache per router which looks reasonable.
Reply | Threaded
Open this post in threaded view
|

Re: Maximum recommended number of persistent queues per router?

sanjan
IIT Software wrote
I don't know how much memory you can allocate to a JVM but at some time you will get a GC problem, that's assured. So more smaller JVMs are better than a few big ones.

<number queues> * <queue cache size> * <messages size> = required heap size for queues

Per default a queue cache is limited by 500 messages or 2 MB. In case of 6 KB messages the 2 MB limit will be used. You can decrease it by setting max-cache-size-kb property to a lower value.

However, 10K queues is way too much. Just imagine how big your routerconfig.xml would be. 1K queues per router (so 10 routers) would consume maximum 2 GB queue cache per router which looks reasonable.
Hi, Sorry I need to clarify,

required queue cache = <number queues> * <queue cache size> 
required heap size = <required queue cache> * <single message size?>

Are the above statements correct?
Reply | Threaded
Open this post in threaded view
|

Re: Maximum recommended number of persistent queues per router?

IIT Software
Administrator
If you limit your queue cache by number of messages:

<number queues> * <queue cache size limit> * <max message size> = required heap size for queues

If you limit the queue cache by size in KB then:

<number queues> * <queue cache size kb> = required heap size for queues