Collaboration : Cisco ICM Logger

Pratique recommandée pour définir les limites du tampon ICM MDS

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Ce document décrit comment vous pouvez classer le registre d'allocation de mémoire tampon du service de distribution de message (MDS) afin de satisfaire à tous vos besoins dans un Intelligent Contact Management de Cisco (missile aux performances améliorées)/environnement d'entreprise de l'IP Contact Center (IPCC). Ce document fournit également des notes en mise à jour et en maintenance.

Remarque: Ce document n'applique pas au missile aux performances améliorées 7.0 parce que l'installation de gestion de la mémoire a été changée.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

  • Entreprise de Cisco ICM/IPCC

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • Version Enterprise 4.6.2 missile aux performances améliorées de Cisco, 5.x et 6.x

  • Version 4.6.2 d'IPCC Enterprise de Cisco, 5.x et 6.x

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Mise en mémoire tampon de message

Un processus MDS fonctionne de chaque côté du routeur missile aux performances améliorées de Cisco et de la passerelle d'accès aux périphériques (PAGE). Les process starts du gestionnaire de noeud (nanomètre) le processus MDS. Le processus MDS fournit une fonction de commutation de messages pour les clients de son côté du système. Le processus MDS reçoit les messages que les clients envoient, et fournit les messages aux destinations appropriées. Le processus MDS emploie une connexion externe du transport de message (EMT) pour communiquer avec chaque client, qui permet à des clients pour résider sur n'importe quel noeud.

Pendant l'exploitation du système normal, les clients MDS lus et les messages de processus dès que les messages arriveront. Les événements peu communs, par exemple, resynchronisation de processus, peuvent faire faire une pause un ou plusieurs clients pendant une période indéterminée. Au cours de telles périodes, les messages continuent à arriver au client. À de telles fois, les messages entrent dans la file d'attente de messages du client. Quand le client reprend lire des messages d'entrée, sur une moyenne, le client traite des messages plus rapides que les messages arrivent. Par conséquent, la file d'attente d'entrée se rétrécit par la suite à zéro.

Le processus MDS implémente un schéma de gestion de mémoire tampon. Quand un message est dans la file d'attente, tout le nombre de mémoire tampon augmente. Quand le client lit le message, le message laisse la file d'attente, et les diminutions de nombre de mémoire tampon. La taille de file d'attente est 90% des mémoires tampons disponibles dans le pool de mémoire tampon. Un seuil supérieur que vous pouvez configurer, spécifie le nombre maximal de mémoires tampons pour répartir pour aligner des messages. Si un message qui joint la file d'attente fait dépasser les mémoires tampons le niveau de seuil supérieur, le processus MDS déclare une panne et arrête.

Le processus MDS met à jour un groupe de mémoires tampons de message. Il y a trois tailles des groupes, à savoir, petits, moyens et grands. Ces groupes facilitent de diverses tailles des messages. La grande mémoire tampon est assez grande pour tenir un message de taille maximale. Le système alloue des mémoires tampons de message de la mémoire globale de processus si nécessaire. Quand les mémoires tampons ne sont plus nécessaires, les versions système les mémoires tampons de nouveau à la mémoire globale de processus.

Registre de mémoire tampon

Processus MDS

Pour le processus MDS, voici le chemin de navigation pour le registre de mémoire tampon alloué par maximum dans la version 4.6.2 missile aux performances améliorées de Cisco :

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

Voici le chemin de navigation pour le registre de mémoire tampon alloué par maximum dans des versions 5.x et 6.x missile aux performances améliorées de Cisco :

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

Par exemple, la figure 1 affiche la clé de registre pour BufferLimit et BufferMaxFree pour le processus MDS sur PG1A dans des versions 5.x et 6.x de Cisco ICM/IPCC.

Figure 1 ? Registre de processus MDS pour BufferLimit et BufferMaxFree

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

Processus de client MDS

Pour les clients MDS, voici le chemin de navigation pour le registre de mémoire tampon alloué par maximum dans la version 4.6.2 missile aux performances améliorées de Cisco :

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

Voici le chemin de navigation pour le registre de mémoire tampon alloué par maximum dans des versions 5.x et 6.x missile aux performances améliorées de Cisco :

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

Par exemple, la figure 2 affiche la clé de registre pour BufferLimit et BufferMaxFree pour le processus de pgag sur PG1A dans des versions 5.x et 6.x de Cisco ICM/IPCC.

Figure 2 ? Registre de processus de client MDS pour BufferLimit et BufferMaxFree

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

Récupérez les statistiques régulatrices

Vous pouvez employer la commande de dumplog avec l'argument de /bin afin d'obtenir les statistiques de tampon. Afin d'obtenir des données suffisantes, vous devez recueillir au moins la valeur de deux heures des données pour afficher la statistique. Afin de comprendre les statistiques, vous avez besoin au moins d'une semaine de données au cours d'une période du trafic élevé. Voici un exemple de la commande de dumplog que vous pouvez émettre pour collecter deux heures de données MDS :

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

Voici la sortie partielle de la commande de 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

  ..
  ..

Seuils

La première partie des statistiques représente le filigrane pour l'allocation de mémoire tampon.

Figure 3 ? Statistiques de pool de mémoire tampon

BufferLimitGuide_03.gif

Voici les significations et la portée de certains nomme des utilisations de cet état :

Cet état présente une image de l'allocation de mémoire tampon pendant la dernière heure. Employez cet état pendant une semaine ou les deux pour vérifier si le registre de mémoire tampon alloué par maximum est assez pour la destination de message. Les deux conditions requises de mémoire tampon MDS sont :

  • Pour le processus MDS

  • Pour les clients MDS

Pour la version 4.6.2 missile aux performances améliorées, voici le chemin de navigation pour le registre de mémoire tampon alloué par maximum :

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

Voici les clés :

  • BufferLimit

    BufferLimit définit la mémoire tampon allouée par maximum (voir la flèche A sur la figure 1 et le schéma 2).

  • BufferMaxFree

    BufferMaxFree représente le freelist alloué par maximum (voir la flèche B sur la figure 1 et le schéma 2).

La plupart d'informations importantes en statistiques régulatrices sont la valeur des mémoires tampons allouées par haute (voir le schéma 3). La cible est de garder la valeur entre 65% et 75% des mémoires tampons allouées par maximum. Pour n'importe quand au cours de la période échantillonnée, si le nombre obtient le supérieur à 75%, vous devez doubler la valeur dans le BufferLimit.

Remarque: La valeur est toujours un unité de deux.

Message d'erreur d'allocation de mémoire tampon

Quand le pool de mémoire tampon est vide, le processus quitte. Le fichier journal affiche ce message :

Fail: Buffer Pool Exhausted (xxxx buffers allocated).

Remarque: xxxx représente le nombre de mémoires tampons. Par exemple, 1024, 2048, 4096 et ainsi de suite.

Employez l'utilitaire Dumplog pour visualiser le fichier journal.

Pool de mémoire tampon épuisé : Affaire 1

Ce log fournit un exemple du processus de lgr MDS qui a manqué de mémoire tampon (voir la flèche A sur le schéma 4).

Figure 4 ? Dumplog du processus MDS LGR

BufferLimitGuide_04.gif

Développez le BufferLimit en cours afin de résoudre le problème. Cependant, vous devez surveillez alors le processus pour s'assurer que l'erreur ne se reproduit pas.

Pool de mémoire tampon épuisé : Affaire 2

Dans certains cas, le message d'erreur apparaît, mais développer le BufferLimit en cours ne résout pas le problème. Ce message d'erreur est juste un symptôme. Par exemple, une gamme de logs est enregistrée avant les process stop MDS. Ces logs produisent un état avec le nombre de mémoires tampons allouées parmi les clients MDS. Habituellement, ce nombre est assez pour que vous rétrécissiez vers le bas sur quelques problèmes dans les clients qui ne rapportent pas pour mettre en mémoire tampon l'allocation.

Figure 5 ? Dumplog du processus MDS

BufferLimitGuide_05.gif

L'exemple dans la figure 5 indique qu'il y a 4085 messages alignés pour le processus périphérique ouvert du contrôleur (OPC), et tous autres clients ne font allouer aucune mémoire tampon. Cet exemple explique que le processus OPC est la cause du problème, et pas la taille maximum d'allocation de mémoire tampon.

Notes en mise à jour

De temps en temps, quand vous exécutez une mise à jour ou apportez des changements majeurs à un système, le pool de mémoire tampon atteint la limite. Par exemple, le pool de mémoire tampon peut atteindre la limite quand vous ajoutez des périphériques. Afin d'empêcher cette question, augmentez les limites de pool de mémoire tampon.

Avant que vous exécutiez une mise à jour de 4.6.2 à 5.0 ou à 6.0, Cisco vous recommande pour doubler les configurations de BufferLimit et de BufferMaxFree (voir le schéma 1). Quand vous améliorez de 5.0 à 6.0 vous n'avez pas besoin de doubler les configurations de BufferLimit si vous doubliez les configurations quand vous avez mis de 4.6.2 à 5.0 à jour. Si vous n'êtes pas sûr environ si vous avez augmenté la configuration de BufferLimit pendant la mise à jour précédente, vérifiez les statistiques d'utilisation de la mémoire tampon tracées les grandes lignes dedans récupèrent les statistiques régulatrices pour déterminer si vous devez augmenter des mémoires tampons.

Remarque: Le gaspillage de mémoire n'est pas un souci parce que des mémoires tampons spécifiées par BufferLimit (excepté ceux dans les listes libres) ne sont pas préaffectées. En outre, les mémoires tampons sont libérées au segment de mémoire de système par la suite. Cependant, un BufferLimit très grand (comparé à la RAM système disponible) peut masquer l'encombrement sous-jacent de transmission et ralentir le système entier. Dans certaines situations, une meilleure solution est d'affirmer un processus car le BufferLimit est atteint, et de compter sur la conception de tolérance aux pannes du système pour basculer, donnée des restrictions possibles de ressource.

Notes en maintenance

Vous pouvez surveiller quelques statistiques de BufferLimit après une mise à jour ou pendant la maintenance du système normale. Vous devez examiner ces des statistiques avant et juste après vous ajoutez la capacité supplémentaire ou les composants à un système. Le processus MDS enregistre les statistiques de pool de mémoire tampon périodiquement. Si la valeur élevée d'une mémoire tampon particulière est proche du max, doublez cette configuration particulière de BufferLimit.


Informations connexes


Document ID: 66960