Table of Contents Previous Next
Logo
Properties : D.7 Ice Thread Pool Properties
Copyright © 2003-2010 ZeroC, Inc.

D.7 Ice Thread Pool Properties

Ice.ThreadPool.Client.Serialize
Ice.ThreadPool.Server.Serialize

Synopsis

Ice.ThreadPool.Client.Serialize=num
Ice.ThreadPool.Server.Serialize=num

Description

If num is a value greater than zero, the thread pool serializes all messages from each connection. It is not necessary to enable this feature in a thread pool whose maximum size is one thread. In a multi-threaded pool, enabling serialization allows requests from different connections to be dispatched concurrently while preserving the order of messages on each connection. Note that serialization has a signficant impact on latency and throughput. See Section 32.10 for more informa­tion on thread pools. If not defined, the default value is zero.

Ice.ThreadPool.Client.Size
Ice.ThreadPool.Server.Size

Synopsis

Ice.ThreadPool.Client.Size=num
Ice.ThreadPool.Server.Size=num

Description

A communicator creates two thread pools: the client thread pool dispatches AMI callbacks and incoming requests on bidirectional connections, and the server thread pool dispatches requests to object adapters. num is the initial and also minimum number of threads in the thread pool. The default value is one for both properties.
An object adapter can also be configured with its own thread pool. See the object adapter properties for more information.
Multiple threads for the client thread pool are only required for nested AMI invocations, or to allow multiple AMI callbacks to be dispatched concurrently.
To monitor the thread pool activities of the Ice run time, enable the Ice.Trace.ThreadPool property.

Ice.ThreadPool.Client.SizeMax
Ice.ThreadPool.Server.SizeMax

Synopsis

Ice.ThreadPool.Client.SizeMax=num
Ice.ThreadPool.Server.SizeMax=num

Description

num is the maximum number of threads for the thread pool. Thread pools in Ice can grow and shrink dynamically, based on an average load factor. Thread pools do not grow larger than the number specified by SizeMax, and they do not shrink to a number of threads smaller than the value specified by Size.
The default value for SizeMax is the value of Size, meaning that by default, thread pools do not grow dynamically.
To monitor the thread pool activities of the Ice run time, enable the Ice.Trace.ThreadPool property.

Ice.ThreadPool.Client.SizeWarn
Ice.ThreadPool.Server.SizeWarn

Synopsis

Ice.ThreadPool.Client.SizeWarn=num
Ice.ThreadPool.Server.SizeWarn=num

Description

Whenever num threads are active in a thread pool, a “low on threads” warning is printed. The default value is zero, which disables the warning.
To monitor the thread pool activities of the Ice run time, enable the Ice.Trace.ThreadPool property.

Ice.ThreadPool.Client.StackSize
Ice.ThreadPool.Server.StackSize

Synopsis

Ice.ThreadPool.Client.StackSize=num
Ice.ThreadPool.Server.StackSize=num

Description

num is the stack size (in bytes) of threads in the thread pool. The default value is zero meaning the operating system's default is used.

Ice.ThreadPool.Client.ThreadPriority
Ice.ThreadPool.Server.ThreadPriority

Synopsis

Ice.ThreadPool.Client.ThreadPriority=num
Ice.ThreadPool.Server.ThreadPriority=num

Description

num specifes a thread priority. Threads created by the Ice run time are by default created with the specified priority for the client and server thread pool, respec­tively. Leaving these properties unset causes the run time to create threads with the default priority specified by Ice.ThreadPriority.
These properties are unset by default.
You can override the default priority for a specific object adapter (see adapter.ThreadPool.Priority).

Ice.ThreadPriority

Synopsis

Ice.ThreadPriority=num

Description

num specifes a thread priority. Threads created by the Ice run time are by default created with the specified priority. Leaving this property unset causes the run time to create threads with the system default priority. This property is unset by default.
You can separately override the default priorities for the client and server thread pool (see Ice.ThreadPool.Client.ThreadPriority and Ice.ThreadPool.Server.ThreadPriority) as well as for a specific object adapter (see adapter.ThreadPool.ThreadPriority).

Table of Contents Previous Next
Logo