NS_CACHE 配置参数中设置的名称服务最大保留时间

NS_CACHE 配置参数定义以下对象中单个条目的最大保留时间:主机名/IP 地址高速缓存、服务高速缓存、用户高速缓存和组高速缓存。如果指定最大保留时间,数据库服务器可从高速缓存获取主机、服务、用户和组数据库服务器的信息。

在为特定高速缓存配置的时间之后或者重新配置该时间时,每个高速缓存条目都将到期。

网络名服务提供者(如 DNS)通常位于远程计算机上。要避免花费时间从网络名服务提供者返回信息,可使用 NS_CACHE 配置参数来指定最大保留时间,用于从某一个内部高速缓存中获取信息。GBase 8s 将在高速缓存中查找信息。如果该处没有此类信息,数据库服务器将查询操作系统以获取这些信息。

使用 GBase 8s 名称服务高速缓存机制可避免许多在操作系统中进行的查找,从而在可配置的时间内保留并复用检索到的每个信息段。

服务器从高速缓存获取信息的速度比查询操作系统更快。但是,如果将保留时间设置为 0 来禁用一个或多个这类高速缓存,那么数据库服务器将查询操作系统以获取主机、服务、用户或组信息。

作为 DBA,您可能希望在以下情况下修改 NS_CACHE 配置参数的设置:网络名服务提供程序在远程计算机上运行,或 MSC VP 在运行时的处理器使用量很大。

例如,可运行 onstat -g glo 命令,以在输出的 Individual virtual processors 部分中检查 msc VP 的使用情况。在以下输出样本中,usercpusyscpu 列中显示的 msc 处理器使用量非常高。如果怀疑使用量高是因为 DNS 调用花费了过多时间,那么可使用操作系统命令来确定高使用量,然后修改 NS_CACHE 配置参数的设置。

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%

您还可能希望在以下情况下指定 NS_CACHE 信息:操作系统没有名称服务 (NS) 高速缓存,或禁用了操作系统 NS 高速缓存。

示例

要将主机和服务连接的最大保留时间定义为 600 秒,并对用户和组数据库服务器连接禁用最大保留限制,请指定:

NS_CACHE host=600,service=600,user=0,group=0