> We have a pool of generic clients that each is listening to it's own > temporary queue and all write to a common queue. These connections are > open at creation time. They remain open until they get evicted by the > pool manager. > > We have different applications that use this pool, and the size of the > pool is between 200-500 ,so we may have 2500 clients connected (each > one with it's own temporary queue). > > My question is: What is the performance penalty of using temporary > queues? > > Should I consider using one single queue for the receiving of the > messages, and dispatch it using correlation Id? > > Will this improve the performance on my system? There is definitely a performance penalty for using temporary queues. There is overhead when creating/destroying the queues, and in terms of memory usage there is the default stack size allocated for each thread. If recommend reading http://www.nabble.com/Large-number-of-queues-(HowTo)-to23602928.html for some info on how to improve performance with a large number of queues.
JLuna > We have our own implementation of a request-reply message.