Name service maximum retention time set in the NS_CACHE configuration parameter
The NS_CACHE configuration parameter defines the maximum retention time for an individual entry in the host name/IP address cache, the service cache, the user cache, and the group cache. If you specify maximum retention times, the database server gets host, service, user, and group database server information from the cache.
Each cache entry expires either after the time configured for the specific cache or when the time is reconfigured.
Usually the network name service provider (for example, DNS) is on a remote computer. To avoid spending the time required to return information from the network name service provider, you can use the NS_CACHE configuration parameter to specify the maximum retention times for obtaining information from one of the internal caches. Then Informix® looks for information in the cache. If the information is not there, the database server queries the operating system for the information.
You can avoid many of these operating system lookups by using the Informix® name service caching mechanism, which can keep and reuse each retrieved piece of information for a configurable amount of time.
The server can get information from the cache faster than it does when querying the operating system. However, if you disable one or more of these caches by setting the retention time to 0, the database server queries the operating system for the host, service, user, or group information.
As a DBA, you might want to modify the NS_CACHE configuration parameter settings if the network name service provider runs on a remote computer or the MSC VP is running with a large amount of processor usage.
For example, you can run the onstat -g glo command
to check the msc
VP usage in the Individual
virtual processors
portion of the output. In the following
ouput sample, the msc
processor usage, shown in the usercpu
and syscpu
columns
is high. If you suspect the usage is high because the DNS call takes
too much time, you can confirm the high usage with an operating system
command and then modify the NS_CACHE configuration parameter settings.
Individual virtual processors:
vp pid class usercpu syscpu total Thread Eff
1 2036 cpu 76.95 7.14 84.09 99.08 84%
2 2149 adm 0.00 0.00 0.00 0.00 0%
3 2151 LIC 0.00 0.00 0.00 0.00 0%
4 2260 lio 0.00 0.00 0.00 0.03 0%
5 2442 pio 0.00 0.00 0.00 0.00 0%
6 2443 aio 0.00 0.01 0.01 0.11 8%
7 2444 msc 14.18 14.64 28.82 199.91 14%
8 2446 fifo 0.00 0.00 0.00 0.00 0%
You might also want to specify NS_CACHE information, if your operating system does not have a name service (NS) cache or if you disabled the operating system NS cache.
Example
To define the maximum retention time for your host and service connections as 600 seconds, and to disable the maximum retention limit for your user and group database server connections, specify:
NS_CACHE host=600,service=600,user=0,group=0