管理与程序设计指南

配置高速缓存管理器和 Net.Data 高速缓存

高速缓存管理器管理系统中一个或多个高速缓存。这些高速缓存中的每一个都包含动态生成的 HTML 页的内容。要配置高速缓存管理器和每个高速缓存,必须更新高速缓存管理器配置文件 cachemgr.cnf 中的关键字值。

高速缓存管理器配置文件中包含两种类型的节:高速缓存管理器节和高速缓存定义节。下列步骤 描述如何为应用程序定制这两个类型的节。

定义高速缓存管理器

通过指定允许的关键字的值,来定义高速缓存管理器节。所有关键字都是可选的;除非您不希望接受缺省值,否则不必指定它们。

要定义高速缓存管理器:

  1. 指定高速缓存管理器日志文件的名称。日志显示所有高速缓存的所有事务的动作, 并供调试和问题分析来使用。

    缺省情况是将信息写至控制台。

    语法:

    log=path
    

    其中,path 是高速缓存文件的路径与文件名称。

    提示:要指定每个高速缓存的日志文件,可在高速缓存定义节中使用 tran-log 关键字。

  2. 指定高速缓存管理器用于接受请求的 TCP/IP 端口号码。只对于从远程机上连接高速 缓存管理器时,才使用该端口号码。

    此值必须与 DTW_CACHE_PORT 配置变量 在 Net.Data 初始化文件中指定的端口号码匹配。用以下方法确定缺省值:

    1. 高速缓存管理器在路径 /etc/services 中检查与名称 ibm-cachemgrd 关联的值。如果找到此值,高速缓存管理器将使用此值 。如果找不到,则使用下一种方法。
    2. 高速缓存管理器使用缺省端口 7175。

    语法:

    port=port_number
    

    其中 port_number 是唯一的 TCP/IP 端口号。

  3. 以秒为单位指定一个最大时间长度,在此时间内,高速缓存管理器应当允许暂挂的读取操 作保持活动。如果超过此时间,高速缓存管理器卸下连接。

    缺省值是 30 秒。

    语法:

    connection-timeout=seconds
    

    其中 seconds 是秒数,用于暂挂的读取操作应当活动的时间长度。

  4. 指定是否记录信息。

    缺省值是 nooff

    语法:

    logging=yes|on|no|off
    

    其中:

    yes|on
    指示需要进行记录。

    no|off
    指出不应记录。
  5. 指定是否环绕日志。

    缺省值是 no。如果指定为 yes,则在达到最大大小时当前日志将关闭 (参见下面的 log-size),文件具有文件类型 .old,新的日志被打开。只维护一代 日志文件(现存的 .old 文件被覆盖)。

    语法:

    wrap-log=yes|no
    

    其中:

    yes
    指定环绕日志。

    no
    指定不环绕日志。
  6. 指定最大大小,日志最多可为此大小(如果指定了环绕日志的话)。

    缺省值是 64000。

    语法:

    log-size=bytes
    

    其中 bytes 是最大大小的字节数。

  7. 指定要写入日志的信息级别。当这些值包含在 trace_flag_definitions 列表中时 ,则已被设置,不再需要进行任何设置。

    缺省值是只记录高速缓存管理器启动和关闭信息。

    语法:

    trace-flags=trace_flag_definitions
    

    其中:

    D_ALL
    启用所有跟踪标志。

    D_NONE
    禁用所有跟踪标志

示例:启用指定所有跟踪标志的跟踪标志:

trace=flags=D_ALL

节的示例:一个有效的配置管理器节:

cache-manager {
port = 7175
connection-timeout = 60
logging = off
log = /local/netdata/cachemgr/logs/cachemgr.log
wrap-log = yes
log-size = 32KB
} 

定义高速缓存

通过指定允许的关键字的值,来定义高速缓存定义节。大部分关键字都是可选的,除非您不希 望使用缺省值,否则不必指定它。

要定义一个高速缓存:

  1. 指定要保持高速缓存页的路径和目录名。就启动来说,包含此目录的文件系统必须至少象 fssize (参见下面) 的值 一样大;否则高速缓存将不能启动。可将此值指定为一个绝对路径名或对应于高速缓存管理器启动 的路径的相对路径名。

    必需的。

    语法:

    root=path_name
    

    其中:

    path_name
    是高速缓存页所存储的绝对或相对的目录和路径名。
  2. 指定在高速缓存管理器启动时是否激活当前高速缓存。

    不是必需的;缺省值是 yes。如果设置为 no,则高速缓存被定义在高速缓存管理器中但是不激活。以后您可以用 cacheadm 命令来激活它。

    语法:

    caching=yes|no
    

    其中:

    yes
    指出当高速缓存管理器启动时将激活高速缓存。

    no
    指出当高速缓存管理器启动时将不激活高速缓存。
  3. 指定由当前高速缓存中的页在文件系统中所使用的最大空间。超过最大空间数时,高速缓存 管理器从最旧的页开始删除足够的页,以将高速缓存所占有的总空间限制在一个极限之内。您可以 通过将该值设置为一个很大的数目来有效禁用对条目的自动清除;但是如果超过物理文件系统空间 ,则试图将新的页面添加到高速缓存将会失败。

    不是必需的;缺省值是 0 (没有高速缓存至磁盘)。

    语法:

    fssize=nnB|nnKB|nnM
    

    其中:

    nnB
    是字节数;例如 5000B。

    nnKB
    是千字节数;例如 640KB。

    nnMB
    是兆字节数;例如 30MB。
  4. 指定由该高速缓存中的所有页面使用的最大内存数。超过最大内存数时,高速缓存 管理器从最旧的页开始删除足够的页,以将高速缓存所占有的总内存限制在一个范围之内。您可以 通过将该值设置为一个很大的数目来有效禁用对页面的自动清除;但是如果 cachemgrd 过程消耗太多内存,操作系统可能会终止它。

    不是必需的;缺省值是 1MB。

    语法:

    mem-size=nnB|nnKB|nnMB
    

    其中:

    nnB
    是字节数;例如 5000B。

    nnKB
    是千字节数;例如 640KB。

    nnMB
    是兆字节数;例如 30MB。
  5. 指定了一个页面可在高速缓存中保持的最大时间长度。超过此值时,高速缓存管理器将页面标 记为期满,但是除非到达 fssize (如果高速缓存在磁盘上) 或 memsize (如果高速缓存在内存中) 极限,否则不删除 该页面。如果到达 memsizefssize 极限,则高速缓存管理器在所有其他页面之前删除标记为期满的页。可以使用 check_expiration 关键字来禁用lifetime检查。

    必需的:否;缺省值是 5 分钟。

    语法:

    lifetime=time_length
    

    其中:

    nnS
    秒数;例如 600S。

    nnM
    分钟数;例如 20M。

    nnH
    小时数;例如 30H。
  6. 指定是否将高速缓存页标记为期满并执行寿命检查。

    不是必需的;缺省值是 yes,缺省寿命长度是 60 秒。还可将此值设置为一个时间长度,以指出 yes 值并说明一个项目可在高速缓存中保持的最大时间长度。设置为 no 时,高速缓存页不标记为期满,并且不执行寿命检查。

    语法:

    check-expiration=yes|nnS|nnM|nnH|no
    

    其中:

    yes
    指出高速缓存管理器执行寿命检查,并且高速缓存页标记为期满。

    nnS
    秒数;例如 600S。

    nnM
    分钟数;例如 20M。

    nnH
    小时数;例如 30H。

    no
    指出高速缓存管理器不执行寿命检查,并且高速缓存页不标记为期满。
  7. 指定一个高速缓存的页面可在内存高速缓存中占用的最大空间量。如果对于内存来说页面太大 ,则选择文件高速缓存。如果存在足够的空间,高速缓存管理器将在文件高速缓存中擦除高速缓存页面。如果页面不匹配文 件高速缓存,则高速缓存的试图将失败。如果页面小于 datum_memory_limit 值 (cacheobj-memory-limit),但是如果高速缓存没有足够的空间,则将从内存高速缓存中删除最早的 高速缓存页面以容纳新的页面。

    不是必需的;缺省值是 1KB。

    语法:

    datum-memory-limit (cacheobj-memory-limit)=nnB|nnKB|nnMB
    

    其中:

    nnB
    是字节数;例如 5000B。

    nnKB
    是千字节数;例如 640KB。

    nnMB
    是兆字节数;例如 30MB。
  8. 指定一个高速缓存页面可在文件高速缓存中占用的最大空间量。如果一个页面小于 datum_disk_limit,但是在文件高速缓存中没有余留空间,则将从文件高速缓存中删除最早的 高速缓存页面以容纳新的页面。

    不是必需的;缺省值是 1KB。

    语法:

    datum-disk-limit (cacheobj-space-limit)=nnB|nnKB|nnMB
    

    其中:

    nnB
    是字节数;例如 5000B。

    nnKB
    是千字节数;例如 640KB。

    nnMB
    是兆字节数;例如 30MB。
  9. 指定了创建统计记录的时间。如果设置为 0,则不写下统计记录。

    不是必需的;缺省值是 0(无任何统计信息)。

    语法:

    stat-interval = nnS|nnM|nnH
    

    其中:

    nnS
    秒数;例如 600S。

    nnM
    是分钟数;例如 1M。

    nnH
    是小时数;例如 3H。
  10. 指定一个文件的路径和名称,该文件用于记录当前高速缓存的统计值。

    stat-interval 的值大于 0 时是必需的。

    语法:

    stat-files=filename
    

    其中 filename 是记录统计文件的路径和名称。

  11. 指定每次写日志文件时,统计计数器是否应当复位。

    不是必需的;缺省值是 yes

    语法:

    reset-stat-counters=yes|no
    

    其中:

    yes
    复位统计计数器。

    no
    不复位统计计数器。
  12. 定义存放每个高速缓存的事务日志的路径与文件名称。高速缓存事务日志文件独立与高速缓存 管理器日志文件,后者用于记录整个高速缓存管理器的活动。

    必需的;如果不指定,就不创建 高速缓存的事务日志。

    语法:

    tran-log=filename
    

    其中 filename 是每个高速缓存的事务日志的路径和文件名。

  13. 指定是否在高速缓存管理器首次启动时打开高速缓存的事务日志。除非已通过 tran-log 参数 指定了一个有效事务日志文件,否则忽略此参数。如果在高速缓存管理器配置文件中已经指定 tran-log 值,则当高速缓存管理器守护程序正在运行时,可使用 cacheadm 命令来激活事务日志。

    不是必需的;缺省值是 no

    语法:

    tran-logging=yes|on|no|off
    

    其中:

    yes|on
    指示需要进行记录。

    no|off
    指出不应执行记录。
  14. 指定是否应当环绕事务登记。

    不是必需的;缺省值是 yes。如果指定为 yes,则在达到最大大小时当 前日志将关闭(参见下 面的 tran-log-size),具有文件类型 .old,新的日志被打开。只维护一代日志 (现存的 .old 文件被覆盖)。

    语法:

    wrap-tran-log=yes|no
    

    其中:

    yes
    指定环绕日志。

    no
    指出不环绕日志。
  15. 以字节为单位指定最大大小,如果指定了 wrap-tran-log, 则允许事物日志多至这般大小。

    不是必需的;缺省值是 64000。

    语法:

    tran-log-size=bytes
    

    其中 bytes 是最大大小的字节数。

节的示例:高速缓存的一个有效的高速缓存定义节:

cache0
{
root = /locale/netdata/cachemgr/caches/cache0
caching = on
mem-size = 10MB
fs-size = 1MB
datum-memory-limit = 200KB
datum-disk-limit = 1MB
lifetime = 6000000
check-expiration = 999999
tran-logging = no
tran-log-size = 10000
wrap-tran-log = yes
tran-log = /ocale/netdata/cachemgr/logs/tran.log
}
 


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]