IBM® Informix® 12.10

Specifying the number of connections and poll threads

The optimum number of connections per poll thread is approximately 300 for uniprocessor computers and up to 350 for multiprocessor computers, although this can vary depending on the platform and database server workload.

A poll thread can support 1024 or more connections. If the FASTPOLL configuration parameter is enabled, you might be able to configure fewer poll threads, but test the performance to determine the optimal configuration for your environment.

Each NETTYPE entry configures the number of poll threads for a specific connection type, the number of connections per poll thread, and the type of virtual-processor class in which those poll threads run. If the number of connections per thread exceeds 350 and the number of poll threads for the current connection type is less than the number of CPU VPs, you can improve performance by specifying the CPU VP class, adding poll threads (do not exceed the number of CPU VPs), and resetting the number of connections per thread. The default number of connections per thread is 50.

Important: Each ipcshm connection requires a semaphore. Some operating systems require that you configure a maximum number of semaphores that can be requested by all software packages that run on the computer. For best performance, double the number of actual ipcshm connections when you allocate semaphores for shared-memory communications. See UNIX semaphore parameters.

If your computer is a uniprocessor and your database server instance is configured for only one connection type, you can omit the NETTYPE parameter. The database server uses the information that is provided in the sqlhosts information to establish client/server connections.

If your computer is a uniprocessor and your database server instance is configured for more than one connection type, include a separate NETTYPE entry for each connection type. If the number of connections of any one type significantly exceeds 300, assign two or more poll threads, up to a maximum of the number of CPU VPs, and specify NET for a network VP class, as the following example shows:
NETTYPE ipcshm,1,50,CPU
NETTYPE tlitcp,2,200,NET # supports 400 connections

For ipcshm, the number of poll threads correspond to the number of memory segments. For example, if NETTYPE is set to 3,100 and you want one poll thread, set the poll thread to 1,300.

If your computer is a multiprocessor, your database server instance is configured for only one connection type, and the number of connections does not exceed 350, you can use NETTYPE to specify a single poll thread on either the CPU or a network VP class. If the number of connections exceeds 350, set the VP class type to NET, increase the number of poll threads, and recalculate conn_per_thread.

Important: Carefully distinguish between poll threads for network connections and poll threads for shared memory connections, which run one per CPU virtual processor. Configure TCP connections to run in network virtual processors, and configure the minimum that is needed to maintain responsiveness. Configure shared memory connections to run in every CPU virtual processor.


Examples exchange | Troubleshooting

To find the PDF, see Publications for the IBM Informix 12.10 family of products.
For the release notes, documentation notes, and/or machine notes, see the Release Notes page.