NETTYPE configuration parameter

Use the NETTYPE parameter to tune the network protocols that are defined in the sqlhosts information.

onconfig.std values
UNIX: ipcshm,1,50,CPU

Windows: Not set.

default value
connection_type,1,50,vp_class

The default connection type depends on the operating system:

  • UNIX: The value of the protocol field from the sqlhosts file.
  • Windows: onsoctcp

The default type of virtual processor class depends on the dbservername entry in the sqlhosts file:

  • CPU, if the dbservername sqlhosts entry is defined by the DBSERVERNAME configuration parameter.
  • NET, if the dbservername sqlhosts entry is defined by the DBSERVERALIASES configuration parameter.
separators
Separate fields with commas. Do not include blank spaces. If you can omit values for fields, but you must include a comma for each field. However, you can omit trailing commas.
values
See the Usage section.
takes effect
After you edit your onconfig file and restart the database server.

Usage

The NETTYPE parameter provides tuning options for the protocol and interface combinations that are associated with dbservername entries in the sqlhosts information. Each dbservername entry in the sqlhosts information is defined on either the DBSERVERNAME configuration parameter or the DBSERVERALIASES configuration parameter in the onconfig file.

Read syntax diagramSkip visual syntax diagram
                                .-1------------.      
>>-NETTYPE--connection_type--,--+--------------+--,------------->
                                '-poll_threads-'      

   .-50--------------.               
>--+-----------------+--,--+-----+-----------------------------><
   '-conn_per_thread-'     +-CPU-+   
                           '-NET-'   

Table 1. Options for the NETTYPE configuration parameter value
Field Values
connection_type A valid protocol and interface combination, with or without the database server prefix of on, ol, or dr.
poll_threads The number of poll threads that are assigned to the connection type. Default is 1. The range of values depends on the operating system and the virtual processor class:
  • UNIX: If the virtual processor class type is NET, an integer greater than or equal to 1. Each poll thread requires a separate virtual processor, so you indirectly specify the number of networking virtual processors when you specify the number of poll threads for an interface/protocol combination and specify that they are to be run by a network VP.
  • UNIX: If the virtual processor class is CPU, an integer from 1 through the number of CPU VPs.
  • Windows: An integer greater than or equal to 1.

If your database server has many connections, you might be able to improve performance by increasing the number of poll threads. In general, each poll thread can handle approximately 200 - 250 connections.

Windows: If you specify the soctcp protocol, only one poll thread is created, and instead, a socket I/O thread (soctcpio) is created in its own SOC VP for each poll thread that is specified by the NETTYPE parameter. Socket IO threads handle receive operations for all connections using I/O completion ports to receive completion notifications. These threads perform the bulk of the work of servicing network connections on Windows platforms.

conn_per_thread An integer from 1 - 32767 that sets the maximum number of connections for each poll thread. Default is 50.

For shared memory connections, the value of conn_per_thread is the maximum number of connections per thread. In general, specify double the number of expected connections.

For network connections, the value of conn_per_thread can be exceeded. Poll threads dynamically reallocate resources to support more connections, as needed. Avoid setting the value for the number of concurrent connections much higher than you expect. Otherwise, you might waste system resources.

If only a few connections are using a protocol concurrently, you might save memory by explicitly setting the estimated number of connections.

CPU Specifies a CPU virtual processor. Configure shared memory connections to run in every CPU virtual processor.
NET Specifies to use the appropriate network virtual processor: SOC, STR, SHM, or TLI. Configure network connection to run in network virtual processors.

You can specify a NETTYPE parameter for each protocol that you want the database server to use.

The following example illustrates NETTYPE parameters for two types of connections to the database server: a shared memory connection for local clients, and a network connection that uses sockets:
NETTYPE ipcshm,3,,CPU
NETTYPE soctcp,8,300,NET

The NETTYPE parameter for the shared-memory connection (ipcshm) specifies three poll threads to run in CPU virtual processors. The number of connections is not specified, so it is set to 50. For ipcshm, the number of poll threads correspond to the number of memory segments.

The NETTYPE parameter for the sockets connection (soctcp) specifies that 300 simultaneous connections are expected per thread for this protocol, and that 8 poll threads run in a network virtual processor.

UNIX: There can be a dependency between the NETTYPE and NUMFDSERVERS configuration parameter settings. When you have multiple CPU virtual processors and poll threads, and thread-status output from the onstat -g ath command indicates network shared file (NSF) locking, you can increase the NUMFDSERVERS value for poll threads to reduce NSF lock contention.

HCL Informix MaxConnect

If you are using HCL Informix® MaxConnect, see the IBM Informix MaxConnect User's Guide for how to specify the fields in the NETTYPE parameter. The ontliimc and onsocimc protocols use TCP/IP to communicate with Informix MaxConnect. You can use these protocols to either connect Informix MaxConnect or the application clients to the database server.


Copyright© 2019 HCL Technologies Limited