Threading behavior

There are several factors that control threading behavior, each of which are governed by a server option. Not all of these options are supported on every platform.

  • Multiprogramming level (-gn server option)   The -gn option controls the database server's multiprogramming level. This value determines the maximum number of tasks that may be active at one time. Each database request causes the creation of at least one task, and possibly more if intra-query parallelism is involved. Additionally, the server occasionally schedules tasks to perform internal activities. When the number of tasks in the server exceeds the multiprogramming level, outstanding tasks must wait until a currently-running, or active task, completes. See -gn dbsrv12 server option and Database server configuration of the multiprogramming level.

  • Stack size per internal execution thread (-gss server option)   You can set the stack size per worker in the database server using the -gss option. The -gss option allow you to lower the address space requirements of each worker within the database server, which may be useful in environments with limited memory. See -gss dbeng12/dbsrv12 server option.

  • Number of processors (-gt server option)   The -gt option controls the number of processors that the database server uses. See -gt dbeng12/dbsrv12 server option.

  • Processor concurrency (-gtc server option)   The -gtc option specifies the number of logical processors (cores) that the database server uses. See -gtc dbeng12/dbsrv12 server option.

 Processor use and threading example