Setting up the QCF / TCF pools
When using JMS, the QueueConnection and QueueSession pools are the link between the application and the messaging system. There need to be enough connections and sessions available in each QCF or TCF to satisfy the needs of the peak workload.
Provider: WebSphere JMS and WebSphere MQ JMS Component: QCF or TCF Location of settings: Resources | WebSphere JMS Provider or WebSphere MQ JMS Provider | WebSphere MQ Queue Connection Factories | <Your_QCF_or_TCF> | Connection Pool Resources | WebSphere JMS Provider or WebSphere MQ JMS Provider | WebSphere MQ Queue Connection Factories | <Your_QCF_or_TCF> | Session Pools
Each QCF and TCF will have a different anticipated workload, so it will need configuring to match that workload. Finding the optimum value for the minimum and maximum connections and sessions in the pools can only be achieved through performance testing and tuning.
However, it is possible to help in finding the correct starting place for maximum pool sizes to use in the performance testing. It is how the QCF or TCF is going to be used that will help in deciding what the size the pools should be. Consider the areas listed below when setting up the connection and session pools:
- What is the intended usage of the QCF or TCF?
MDB Listener port
XA enabled resources
Generic JMS- Are there going to be different QCF or TCF objects for each of the above?
If so then adjust the size of the pools accordingly (minimum and maximum connections for each pool).
- For generic JMS, what is the relationship between QueueConnections and QueueSessions?
See Component relationships when using generic JMS. Remember that each QueueConnection has its own pool of sessions, but each session pool is globally configured on the QCF or TCF.
- How many Web and EJB threads are there defined in the appserver?
The Web and EJB containers maximum thread pool sizes act as the controlling mechanism for how many threads could be trying to use the QCF or TCF. Whenever the number of threads is increased or decreased, consider changing the connection and session pool sizes as well. See Component relationships when using generic JMS for more information.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.