Support for private network buffers

The database server provides support for private network buffers for each session that uses SOCTCP, IPCSTR, or TLITCP network connections.

For situations in which many connections and sessions are constantly active, these private network buffers have the following advantages:
  • Less contention for the common network buffer pool
  • Fewer CPU resources to allocate and deallocate network buffers to and from the common network buffer pool for each network transfer

The IFX_NETBUF_PVTPOOL_SIZE environment variable specifies the size of the private network buffer pool for each session. The default size is one buffer.

Use the onstat utility commands in the following table to monitor the network buffer usage.
Command Output Field Description
onstat -g ntu q-pvt The current number and highest number of buffers that are free in the private pool for this session
onstat -g ntm q-exceeds The number of times that the free buffer threshold was exceeded
The onstat -g ntu command displays the following format for the q-pvt output field:
current number / highest number
If the number of free buffers (value in q-pvt field) is consistently 0, you can perform one of the following actions:
  • Increase the number of buffers with the environment variable IFX_NETBUF_PVTPOOL_SIZE.
  • Increase the size of each buffer with the environment variable IFX_NETBUF_SIZE.

The q-exceeds field indicates the number of times that the threshold for the shared network free-buffer pool was exceeded. When this threshold is exceeded, the database server returns the unused network buffers (over this threshold) to the global memory pool in shared memory. Optimally, this value should be 0 or a low number so that the server is not allocating or deallocating network buffers from the global memory pool.

Copyright© 2018 HCL Technologies Limited