This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
The Liberty active threads value is now reported in the CICS statistics.
See Announcement letter https://www.ibm.com/docs/en/announcements/AD24-0164
However, in a CICS Liberty environment this reflects the number of CICS enabled threads (up to a maximum of the RDO 'thread-limit') that Liberty has requested from CICS and pulled into its managed thread-pool. Unlike in an OSGi JVM server, this value does not directly reflect how many application/task threads are running in Liberty, rather how many threads are in the pool for Liberty's use. Liberty will use those threads for both internal processing as well as web-application or Link-to-Liberty requests, and it attaches/detaches CICS tasks as necessary.
Threads in the Liberty thread-pool will appear 'dispatched' to CICS, but they are typically in a wait-state. When needed, Liberty takes them, uses them, and returns them back to its pool to be repurposed. Liberty uses complex algorithms to self-tune the number of threads in the thread-pool and is constantly re-assessing its needs. The thread-pool will therefore grow when higher throughputs are required, and shrink when workload can be more efficiency served by fewer threads running at a higher cadence. Therefore, the current thread-count that CICS sees will also grow and shrink over time too. It is not directly related to application work, rather the entire Liberty server (and JVM) operating dynamically.
If you wish to see how many threads are running CICS applications, then TASK and Java PROGRAM statistics might provide clearer insight. If however, your goal is to understand whether you need to tune the JVMSERVER thread-limit then the 'peak Threads' will not help - that is because any stats related to Liberty's thread-pool will always be within the constraints of the thread-limit that CICS places upon Liberty. Or to put it another way, beacuse Liberty dynamically tunes itself within the constraints you place on it, those stats cannot help you understand the effects of changing the constraints.
The best advice that I can give regarding thread-limit is to consider it more of a throttle on the number of T8 TCBs in a JVMSERVER. If you wish the Liberty server to run unconstrained, then set the limit high (it will only use them if it needs them). If you have multiple JVMSERVERs in a region, or share storage with traditional workloads, then setting a lower thread-limit might be more appropriate. Good capacity planning here is key.
Another consideration is that at higher throughputs and higher thread-limit values, both CPU use and thread-contention come into play. Too many concurrent threads causes additional overheads due to contention, too many concurrent threads might also 'max out' the available CPU in which case setting the thread-limit higher will not achieve anything.
I don't think it is particularly useful to attempt to tune the JVMSERVER thread-limit (compared to reviewing many other JVM/CICS settings).
A simpe heuristic is to set the thread-limit to 100 (The JVMSERVER default of 15 is probably too low for a high volume Liberty server). If you don't get the desired throughput, increase it to 200, beyond that it might be better to scale-out with more JVMSERVERS or more CICS regions. There is no one single value or CICS advice we can give for this capacity planning it is different for every customer, for different machine hardware, for different application patterns, and for different workload patterns.
I'll put this requirement into 'need more information' to allow for further feedback (or maybe the info provided is enough). If you had a specific use-case in mind, giving those details might help us determine if there are actions we can take. Thanks.