协作 : Cisco ICM Logger

最佳实践设置ICM MD缓冲限额

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

本文描述您如何能估量消息发送服务(MD)缓冲分配注册为了满足在Cisco Intelligent Contact Management (ICM) /IP Contact Center (IPCC)企业环境的所有您的需要。本文也提供更新和维护笔记。

注意: 因为内存管理设备更改,本文不适用于ICM 7.0。

先决条件

要求

Cisco 建议您了解以下主题:

  • 思科ICM/IPCC企业

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Cisco ICM Enterprise版本4.6.2、5.x和6.x

  • Cisco IPCC Enterprise版本4.6.2、5.x和6.x

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

留言缓冲

一个MDS进程运行Cisco ICM路由器和外围网关(PG)的在每一侧。节点管理器(NM)进程开始MDS进程。MDS进程为客户端提供一种消息交换转换功能在其系统的侧。MDS进程接受客户端传送的信息,并且提供消息对相关目的地。MDS进程使用一External Message Transport (EMT)连接连通与每个客户端,在所有节点允许客户端驻留。

在正常系统操作时,当消息到达, MD客户端读取并且处理消息。异常的事件,例如,进程再同步,能造成一个或更多客户端暂停在一个不确定的期限。在这样期限,消息继续到达在客户端。在这样次,消息进入客户端的消息队列。当客户端恢复读输入消息,在平均值,快速客户端进程消息比时消息到达。所以, Input queue最终收缩到零。

MDS进程实现缓冲管理方案。当消息在队列时,总缓冲编号增加。当客户端读取消息时,消息离开队列和缓冲区编号减退。队列大小是90%在缓冲池的可用的缓冲区。您能配置的一高水位标记,指定缓冲区最大定量排队消息。如果加入队列的消息造成缓冲区超出高水位标记级别, MDS进程宣称失败并且终止。

MDS进程保养信息缓冲器的池。有三个大小池,即,小,中等和大。这些池适应多种大小消息。大缓冲区是足够大的存一个最大大小消息。系统从进程全局内存当必要时分配信息缓冲器。当缓冲区不再是必要的,系统版本回到进程全局内存的缓冲区。

缓冲区注册

MDS进程

对于MDS进程,这是最大分配的缓冲区注册的定位路径在Cisco ICM版本4.6.2 :

HKEY_LOCAL_MACHINE\SOFTWARE\GelTel\ICR\<cust_inst>\<Node>\MDS\
CurrentVersion\Process

这是最大分配的缓冲区注册的定位路径在Cisco ICM版本5.x和6.x :

HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,Inc.\<cust_inst>\<Node>\MDS\
CurrentVersion\Process

例如,图1显示BufferLimit的MDS进程的注册表项和BufferMaxFree在Cisco ICM/IPCC版本5.x和6.x的PG1A。

图1 – BufferLimit和BufferMaxFree的MDS进程注册

/image/gif/paws/66960/BufferLimitGuide_01.gif

MD客户端进程

对于MD客户端,这是最大分配的缓冲区注册的定位路径在Cisco ICM版本4.6.2 :

HKEY_LOCAL_MACHINE\SOFTWARE\GelTel\ICR\<cust_inst>\<Node>\MDS\
CurrentVersion\Clients\<Client_ID>

这是最大分配的缓冲区注册的定位路径在Cisco ICM版本5.x和6.x :

HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,Inc.\ICR\<cust_inst>\<Node>\MDS\
CurrentVersion\Clients\<Client_ID>

例如,图2显示BufferLimit的pgag进程的注册表项和BufferMaxFree在Cisco ICM/IPCC版本5.x和6.x的PG1A。

图2 – MD BufferLimit和BufferMaxFree的客户端进程注册

/image/gif/paws/66960/BufferLimitGuide_02.gif

获取计量统计信息

您能以/bin参数使用dumplog命令为了获取缓冲统计数据。为了得到足够的数据,您必须采集至少两个小时的价值数据显示统计信息。在高数据流期限,为了了解统计信息,您需要至少一周数据。这是示例dumplog命令您能发出收集两个小时MD数据:

C:\icm\lab60\ra\logfiles>dumplog mds /bin /hr 2

这是部分输出dumplog命令


Events from September 20, 2005:
11:51:06 ra-mds MDS Process is reporting periodic overall metering statistics. 

  *** Buffer Pool Statistics ***
  Current / High / Max Allocated Buffers = 374 / 397 / 65536
  Current / High / Max Freelist (Small) = 344 / 345 / 400
  Current / High / Max Freelist (Medium) = 10 / 10 / 10
  Current / High / Max Freelist (Large) = 5 / 5 / 5
  Buffer Allocs Small / Medium / Large / Total = 18938158 / 1043172 / 4749 /
 19986079
    Allocs from Freelist Small / Medium / Large / Total = 18937799 / 1042064 /
 4742 / 19984605
  Buffer Frees Small / Medium / Large / Total = 22322177 / 1060637 / 5161 /
 23387975
    Frees to Freelist Small / Medium / Large / Total = 18938143 / 1042074 /
 4747 / 19984964
  Dups = 3401911

  *** Synchronizer Statistics ***
  Total messages ordered = 4292869
    MDS duplicates = 308
    DMP duplicates = 0
  Local low priority input msgs / bytes = 1119811 / 107490676
    Current input queue msgs / bytes = 0 / 0
    Highest input queue msgs / bytes = 12 / 3136
  Local high priority input msgs / bytes = 848853 / 24508284
    Current input queue msgs / bytes = 0 / 0
    Highest input queue msgs / bytes = 2 / 148
  Local medium priority input msgs / bytes = 61373 / 3017131
    Current input queue msgs / bytes = 0 / 0
    Highest input queue msgs / bytes = 7 / 11480
  Remote low priority input msgs / bytes = 131595 / 9598544
    Current input queue msgs / bytes = 0 / 0
    Highest input queue msgs / bytes = 15 / 2472
  Remote high priority input msgs / bytes = 6236914 / 65565092
    Current input queue msgs / bytes = 0 / 0
    Highest input queue msgs / bytes = 8 / 228
  Remote medium priority input msgs / bytes = 318 / 52698
    Current input queue msgs / bytes = 0 / 0
    Highest input queue msgs / bytes = 3 / 7476
  Remote low priority output msgs / bytes = 1118701 / 107385640
    Current output queue msgs / bytes = 0 / 0
    Highest output queue msgs / bytes = 8 / 3136
  Remote high priority output msgs / bytes = 4301262 / 93354648
    Current output queue msgs / bytes = 0 / 0
    Highest output queue msgs / bytes = 7 / 204
  Remote medium priority output msgs / bytes = 61289 / 3012988
    Current output queue msgs / bytes = 0 / 0
    Highest output queue msgs / bytes = 5 / 7476
  Current local low priority ordering queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 16 / 3168
  Current local high priority ordering queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0
  Current local medium priority ordering queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 7 / 11524
  Current remote low priority ordering queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0
  Current remote high priority ordering queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0
  Current remote medium priority ordering queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0
  Current low priority timed delivery queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 336 / 32736
  Current high priority timed delivery queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0
  Current medium priority timed delivery queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 32 / 24416
  Clock rate fast / slow / normal = 0 / 0 / 0
  Output waits / notifies = 2641679 / 2642109

  *** State Transfer Statistics ***
  Attempts / Successful completions = 11 / 11
  Bytes received / transmitted = 383710 / 1185727

11:51:06 ra-mds MDS Process is reporting periodic per-client summary meters. 

  *** Client 128 Statistics ***
  Connects / Disconnects = 0 / 0
  Messages / Bytes received from client = 0 / 0
  Messages / Bytes sent to client = 0 / 0
  Current output queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0

  ..
  ..

11:51:06 ra-mds MDS Process is reporting periodic per-client summary meters. 

  *** Client 70 Statistics ***
  Connects / Disconnects = 0 / 0
  Messages / Bytes received from client = 0 / 0
  Messages / Bytes sent to client = 0 / 0
  Current output queue msgs / bytes = 0 / 0
    Highest msgs / bytes = 0 / 0

  ..
  ..

水位标记

统计信息的第一部分代表缓冲分配的水印。

图3 –缓冲池统计信息

BufferLimitGuide_03.gif

这是含义,并且一些的范围叫做此报告用途:

在最后小时,此报告提交缓冲分配的图片。如果最大分配的缓冲区注册是足够为消息目的地,请使用此报告在一两星期期间验证。两个MD缓冲需求是:

  • MDS进程

  • 对于MD客户端

对于ICM版本4.6.2,这是最大分配的缓冲区注册的定位路径:

HKEY_LOCAL_MACHINE\SOFTWARE\GelTel\ICR\<cust_inst>\<Node>\MDS\
CurrentVersion\Clients\<Client_ID>

这是密钥:

  • BufferLimit

    BufferLimit定义了最大分配的缓冲区(请参阅箭头A在图1表2)

  • BufferMaxFree

    BufferMaxFree代表最大已分配可用列表(请参阅箭头B在图1表2)

在计量统计信息的多数重要信息是高分配的缓冲区的值(请参见图3)。目标是保持在65%和75%的值最大分配的缓冲区范围。在被采样的期限,对于任何时候,如果编号高于75%变得,您必须加倍在BufferLimit的值。

注意: 值总是电源两。

缓冲分配错误消息

当缓冲池是空的时,进程退出。日志文件显示此消息:

Fail: Buffer Pool Exhausted (xxxx buffers allocated).

注意: xxxx代表缓冲区数。例如, 1024, 2048, 4096等等。

请使用Dumplog程序查看日志文件。

缓冲池用尽:例 1

此日志提供用尽了缓冲区MD lgr进程的示例(请参阅箭头A在表4)

图4 – MD LGR进程Dumplog

BufferLimitGuide_04.gif

展开当前BufferLimit为了解决问题。然而,您必须然后监控进程保证错误不复发。

缓冲池用尽:案例 2

有时,错误消息出现,但是展开当前BufferLimit不解决问题。此错误消息是症状。例如,在MDS进程终止前,一系列的日志保存。这些日志提供与在MD客户端中分配缓冲区数的一报告。通常,此编号是足够为了您能缩小在与缓冲分配不关连的客户端的一些问题。

图5 – MDS进程Dumplog

BufferLimitGuide_05.gif

示例在表5表明有为开放外围控制器(OPC)进程排队的4085个消息,并且不安排缓冲区分配其他客户端。此示例显示出, OPC进程是问题的原因,而不是最大缓冲分配大小。

更新笔记

偶然地,当您执行升级或做对系统时的重大更改,缓冲池达到限制。例如,当您添加外围时,缓冲池能达到限制。为了防止此问题,请增加缓冲池限额。

在您执行从4.6.2的升级到5.0或6.0前,思科推荐您加倍BufferLimit和BufferMaxFree设置(请参见图1)。当您升级从5.0到6.0时您不需要加倍BufferLimit设置,如果加倍了设置,当您升级从4.6.2到5.0。如果不是肯定的您是否增加设置在上一个升级期间的BufferLimit,请检查概述的缓冲区利用率统计信息获取计量统计信息确定是否必须增加缓冲区。

注意: 内存副产品不是注意事项,因为(除了那些在自由列表)没有预先分配BufferLimit指定的缓冲区。另外,缓冲区最终发布对系统堆。然而,一非常大BufferLimit (与可用系统RAM)比较能屏蔽基础通信拥塞和减速整个系统。在某些状况下,一更加好的解决方案将主张进程,因为BufferLimit被到达和取决于在系统的容错设计故障切换,给可能的资源限制。

维护笔记

在正常系统维护期间,您能监控一些BufferLimit统计信息在升级以后或。您必须查看这些统计信息前面和在您之后添加附加容量或组件到系统。MDS进程周期地记录缓冲池统计信息。如果一特定的缓冲区的高值是接近麦斯,请加倍该特定BufferLimit设置。


相关信息


Document ID: 66960