NOTICE: Our Community is moving. Get more information.
What is the exact significance of below water_marks
thread_pool:high_water_mark = "25";
thread_pool:low_water_mark = "24";
thread_pool:initial_threads = "23";
and how to determinr that our C++ code is using these values for thread.
What happen if we change the value of these parameters.
Thread creation is relatively expensive in terms of compute cycles and therefore can account for increased delays in responding to client requests. So in order to minimize the delay associated with the thread creation a 'thread pool' is created and managed in Artix, and in almost all modern application server architectures.
Thread pool settings are available to tune the size and scalability of the thread pool based on your application requirements. The initial_threads setting is the number of threads that will be available to your application once the initialization of Artix is complete. Similarly, the low_water_mark is the minimum number of threads that you want to be available in the thread pool. And likewise the high_water_mark is the maximum number of threads you want in the pool, at which point incoming requests are queued up to the max_queue_size until a worker thread becomes available to execute the request.
This article talks more about configuration of these properties for JAX-RPC applications:
Cheers and best regards,
In reply to scott.kay:
Fro further details please also see
- the "Artix 5.6.3 Configuration Reference, C++ Runtime", chapter "Multi-threading"
- the "Artix 5.6.3 Configuring and Deploying Artix Solutions, C++ Runtime", chapter "Artix Configuration"
The above documents are available below:
Product family: CORBA Middleware
and scroll down to the "Artix 5.6.3 C++" collection of documents.