How to modify the size of the database server network buffers using IFX_NETBUF_SIZE environment variable
This article explains how to modify the size of the IBM® IDS network buffers using the environment variable IFX_NETBUF_SIZE.
Resolving the problem
IBM® Informix® Dynamic Server (IDS) network buffers are used for communications when using network protocols (tlitcp, soctcp, ipcstr). On UNIX, the IFX_NETBUF_SIZE environment variable (in bytes) specifies the size of each network buffer in the common/shared network buffer pool and the session-private network buffer pool. The default buffer size is 4096 bytes.
BEFORE YOU BEGIN
You need privileges as user informix. For this environment variable setting to take affect, the database server must be restarted.
1. Login as user informix.
2. In the database server startup environment, set the environment variable IFX_NETBUF_SIZE to the number of bytes you want the network buffer size to be. The default value is 4096 bytes. The value you set for IFX_NETBUF_SIZE should match the b option for sqlhosts.
If IFX_NETBUF_SIZE is set to be less than 512 or greater than 65536, the default value of 4096 bytes will be used.
3. The engine must be restarted for the new IFX_NETBUF_SIZE setting to take affect. This environment variable is not displayed in "onstat -g env" (this may change in 10.00.xC7).
When set, you should see memory allocations of IFX_NETBUF_SIZE when you run "onstat -g afr global | grep net" during peak periods when network buffers are being allocated from the global pool or when there are activities requiring larger number of network buffers -- such as when inserting large rows or blobs.
For additional information on IFX_NETBUF_SIZE, check the IBM Informix Dynamic Server Performance Guide. Other parameters that affect the database server network buffers are IFX_NETBUF_PVTPOOL_SIZE (environment variable) and NETTYPE (ONCONFIG parameter).
IFX_NETBUF_SIZE is not used on Windows platform.