Dynamic Threads in CS10, Close but no Cigar

For many, many years I heard the cry of various Livelink administrators and system architects screaming for the ability to have a larger pool of threads to ask of a single Livelink (Content Server) process/instance. So I was very much looking forward to learning about the new so-called Dynamic thread capability in Content Server 10. Unfortunately, so far anyway, the name is a misnomer ... at least if the description I just heard on TechConnect is correct.

The idea is that a single CS instance can be configured for a minimum and maximum number of threads, say 8 and 32 (as was the example in the presentation). That says that there will be a minimum of 8 threads instantiated upon startup but as many as 32 threads if and when there is a sufficient load to justify it ... while "sufficient" wasn't discussed, it will be the number of "concurrently running" transactions. Previously the so-called min-max settings did nothing and the "max" threads were always instantiated.

So far so good, it seems a big improvement, however the mistake Open Text have made that make this feature almost useless is that any thread that is instantiated is never removed and taken out of the pool of active threads, thus once the dynamic resource request is met to meet the load the process never gives that resource back. But it is even worse than that.

Because the threads are put into the general thread-pool, they will be used to service incoming transactions thus even ordinary Operating System procedures like SWAP that would normally recover the excess resources will fail to do so and may even lead to negative performance as threads get swapped back in.

I think it is great that CS10 can now, finally, deal with a large pool of threads, it will really improve administration of large scale operations, but I will only recommend the use of the Dynamic thread as a potential learning method (to see just how many threads you do need) but otherwise I think the best idea is to continue to set MIN = MAX and provision your servers appropriately. Otherwise you will either need to regularly restart your servers to free up and recover the RAM or your users will experience intermittent and unpredictable performance problems.

Post new comment

The content of this field is kept private and will not be shown publicly.