Hi, the question was to explain one of the thread pools, specifically "TCPChannel.DCS". I believe it is related to Distribution and Consistency Services (DCS), ie internal communication within coregroups. This is not very well documented and perhaps (?) it does not need to be as it is related to internal HA communication developed specifically for WAS. Yet, WAS administrator can check through PMI counters the actual values (current) and top values (high watermark) and increase the TCPChannel.DCS if needed, mainly in case the application cell or coregroup has many servers. Otherwise there might be some performance degradation but this would have to be confirmed by subject matter expert. It might need an increase when server load is high or when network is slow.
https://www.ibm.com/docs/en/was-nd/9.0.5?topic=transport-core-group-transports
------------------------------
Michal Tausk
------------------------------
Original Message:
Sent: Thu November 15, 2018 06:00 AM
From: Peter Treese
Subject: what is the use of TCPChannel.DCS pool
You might want to tune TCP Channel related settings if say your backend is slow and the CPU is unused.
To view this administrative console page, click server_name. Click for the port associated with the DCS transport channel whose settings you want to look at.
The most important setting on this page is the thread pool assigned to the channel. Each TCP transport channel is assigned to a particular thread pool. Thread pools can be shared between one or more TCP transport channels as well as with other components. The default settings for a TCP transport channel is to have all HTTP based traffic assigned to the WebContainer thread pool and all other traffic assigned to the Default thread pool.
Tune the size of your thread pools. By default, a thread pool can have a minimum of 10 threads and a maximum of 50 maximum threads. To adjust these values, click on Thread pools < threadpool_name and adjust the values specified for the Minimum Size and Maximum Size parameters for that thread pool. Typical applications usually do not need more than 10 threads per processor. One exception is if there is some off server condition, such as a very slow backend request, that causes a server thread to wait for the backend request to complete. In such a case, CPU usage is usually low and increasing the workload does not increase CPU throughput. Thread dumps show nearly all threads in a call out to the backend resource. If this condition exists, and the backend is tuned correctly, try increasing the minimum number of threads in the pool until you see improvements in throughput and thread dumps show threads in other areas of the runtime besides the backend call. The setting for the Grow as needed parameter should not be changed unless your backend is prone to hanging for long periods of time. This condition might indicate that all of your runtime threads are blocked waiting for the backend instead of processing other work that does not involve the hung backend
Leave the Maximum open connections parameter set to the default value. This parameter controls the maximum number of connections that are available for a server's use. It should be left at the default value of 20000, which is the maximum number of connections allowed
------------------------------
Peter Treese
Original Message:
Sent: 11-14-2018 06:08
From: venkat krish
Subject: what is the use of TCPChannel.DCS pool
Hi All,
can any one explain use of TCPChannel.DCS pool and when it will grow, i have observed in our test environets it will be always 1 or 2, if the count increases we are seeing some abnormal behaviour like cpu spikes and slow response