CONTENTS   NextPrevious  



Thread Manager

Thread Manager starts and manages client threads in the Java Virtual Machine. It saves system resources by controlling the number of threads at a particular moment and the way they are started. Thread Manager enables you to reuse threads, which it keeps in a pool. This manager runs on both server and dispatcher nodes of the cluster.

When initializing Thread Manager the following types of structures are created:

Objects registered for execution in a thread are assigned with priorities.

Visual Administrator

Properties

 

Dispatcher

 

Property

Description

Default Value

 

 

 

InitialThreadCount

Initial size of thread pool.

100

CurrentThreadCount

 

Current size of thread pool.

100

MinThreadCount

Minimum size of thread pool.

50

MaxThreadCount

Maximum size of thread pool.

200

ChangeThreadCountStep

The step width, which is used to change the size of the thread pool.

100

InitialRQSize

Initial size of waiting objects queue.

100

MinRQSize

Minimum size of waiting objects queue.

100

MaxRQSize

Maximum size of waiting objects queue.

200

ChangeRQSizeStep

The step at which the size of the queue is changed.

50

CheckForDecreaseTimeout

Specifies the period between checks performed on Thread Manager to determine if the current number of threads must be decreased to avoid nonworking threads and to release memory. When thread count grows, check time must decrease.

3 min

NeededPositiveDecreaseChecks

Specifies the number of consecutive checks returned as “true,” after which the number of threads is decreased.

3

AlertLogFileName

Specifies the filename to which alert log messages are written.

./managers/log /ALERT.log

NormalLogFileName

This parameter specifies the filename to which messages with normal priority are written. This file is used by the Log viewer of the system to display the messages.

DEFAULT.log

WarningLogFileName

Specifies the filename to which warning log messages for Thread Manager are written.

./managers/log /thread/WARNING.log

CriticalLogFileName

Specifies the filename to which critical log messages are written.

./managers/log /CRITICAL.log

ErrorLogFileName

Specifies the filename to which error log messages are written.

./managers/log /ERROR.log

NoticeLogFileName

Specifies the filename to which notice log messages for Thread Manager are written.

./managers/log /thread/NOTICE.log

NormalLogLevel

Specifies the types of log messages that have normal priority. It is a number from 0 to 7 specifying that log messages within [0, NormalLogLevel] are written in the DefaultNormalFile.

5

CriticalLogLevel

Specifies the types of log messages that have critical priority. It is a number from 0 to 7 specifying that log messages within [CriticalLogLevel,7] are written in the DefaultCriticalFile.

3

EmergencyLogFileName

Specifies the filename to which emergency log messages are written.

./managers/log /EMERGENCY.log

InfoLogFileName

Specifies the filename to which info log messages for Thread Manager are written.

./managers/log /thread/INFO.log

DebugLogFileName

Specifies the filename to which debug log messages for Thread Manager are written.

./managers/log /thread/DEBUG.log

 

 

Server

 

Property

Description

Default Value

 

 

 

InitialThreadCount

Initial size of thread pool.

40

CurrentThreadCount

 

Current size of thread pool.

40

MinThreadCount

Minimum size of thread pool.

40

MaxThreadCount

Maximum size of thread pool.

40

ChangeThreadCountStep

The step at which the size of the thread pool is changed.

100

InitialRQSize

Initial size of waiting objects queue.

500

MinRQSize

Minimum size of waiting objects queue.

100

MaxRQSize

Maximum size of waiting objects queue.

6000

ChangeRQSizeStep

The step at which the size of the queue is changed.

100

InitialFOQSize

 

This value specifies the initial size of the pool of inner objects. These objects are referred to as reusable objects.

200

MinFOQSize

Minimum size of the pool with reusable objects.

100

MaxFOQSize

Maximum size of the pool with reusable objects.

5000

ChangeFOQSizeStep

The step at which the size of the pool with reusable objects is changed.

 

100

CheckForDecreaseTimeout

Specifies period between checks performed on Thread Manager to determine if the current number of threads must be decreased to avoid nonworking threads and to release memory. When thread count grows, check time must decrease.

3 min

NeededPositiveDecreaseChecks

Specifies the number of consecutive checks returned as “true,” after which the number of threads is decreased.

3

AlertLogFileName

Specifies the filename to which alert log messages are written.

./managers/log /ALERT.log

NormalLogFileName

This parameter specifies the filename to which messages with normal priority are written. This file is used by the Log viewer of the system to display the messages.

DEFAULT.log

WarningLogFileName

Specifies the filename to which warning log messages for Thread Manager are written.

./managers/log /thread/WARNING.log

CriticalLogFileName

Specifies the filename to which critical log messages are written.

./managers/log /CRITICAL.log

ErrorLogFileName

Specifies the filename to which error log messages are written.

./managers/log /ERROR.log

NoticeLogFileName

Specifies the filename to which notice log messages for Thread Manager are written.

./managers/log /thread/NOTICE.log

NormalLogLevel

Specifies the types of log messages that have normal priority. It is a number from 0 to 7 specifying that log messages within [0,NormalLogLevel] are written in the DefaultNormalFile.

5

CriticalLogLevel

Specifies the types of log messages that have critical priority. It is a number from 0 to 7 specifying that log messages within [CriticalLogLevel,7] are written in the DefaultCriticalFile.

3

EmergencyLogFileName

Specifies the filename to which emergency log messages are written.

./managers/log /EMERGENCY.log

InfoLogFileName

Specifies the filename to which info log messages for Thread Manager are written.

./managers/log /thread/INFO.log

DebugLogFileName

Specifies the filename to which debug log messages for Thread Manager are written.

./managers/log /thread/DEBUG.log

Property Files

../cluster/dispatcher/managers/settings/ThreadManager.properties
Thread Manager properties specified in the Visual Administrator  section can be set from this property file as well.

../cluster/server/managers/settings/ThreadManager.properties
Thread Manager properties specified in the Visual Administrator  section can be set from this property file as well.

Critical Information and Troubleshooting Tips

When setting the minimum and maximum number of threads to be started (MinThreadCount and MaxThreadCount properties), the capacity of the operating system used must be considered carefully. There is no point in assigning MaxThreadCount a value greater than the number of threads the operating system allows to be started. Performance may be improved as the size of the queue of waiting objects is increased; however, this must be done only if enough memory resources are available. Do not overload the virtual machine. When check time for the current threads status is below the default value (three minutes) frequent verifications can slow down the execution of system processes.

Previous  Next