Thread pools

Thread pools group CPU resources, and contain threads used to execute Adaptive Server tasks associated with that thread pool. Threads host engines that execute user tasks, run specific jobs (such as signal handling), and process requests from a work queue. Adaptive Server contains system-defined thread pools and, if present, user-created thread pools.

NoteThread pools are available only when Adaptive Server is configured for threaded mode.

Thread pools that contain engines are called engine pools, and perform Adaptive Server tasks that have a kernel process ID (KPID). Adaptive Server assigns an engine to each thread in an engine pool.

Adaptive Server supports two types of threads:

You cannot designate a thread’s type when you create the thread pool. User-created thread pools are always multiplexed.

Adaptive Server includes these system-defined thread pools:

Thread pools are defined by their attributes, some of which are automatically assigned by Adaptive Server, and that others are determined when you create the thread pool. The thread pool attributes are:

Adaptive Server records the thread pool configuration in the configuration file. This example shows the three default thread pools (syb_blocking_pool, syb_system_pool, and syb_default_pool) and a user-created thread pool named big_pool:

[Thread Pool:big_pool]
     description = Big thread pool
     number of threads = 15

[Thread Pool:syb_blocking_pool]
     number of threads = 20

[Thread Pool:syb_default_pool]
      number of threads = 1

Use sp_helpthread, or the monThreadPool monitoring table, to view the current thread pool configuration. Edit the thread pool information in the configuration file before starting Adaptive Server or use alter thread pool to a change the thread pool configuration.

See Chapter 3, “Configuring Memory,” in the System Administration Guide: Volume 2.