[MQ 9.4.0 Jul 2024 ][z/OS]

Configuration du stockage de l'initiateur de canal à partir de IBM MQ 9.4.0

L'initiateur de canal utilise généralement beaucoup moins de mémoire 64 bits que le gestionnaire de files d'attente. Cependant, depuis IBM® MQ 9.4.0 , l'utilisation a augmenté. En plus du stockage 64 bits, vous devez permettre à l'initiateur du canal d'utiliser tout le stockage 31 bits disponible en spécifiant REGION=0M dans le JCL de l'initiateur du canal.

Mémoire commune

L'initiateur de canal requiert généralement une utilisation ECSA pouvant atteindre 160KB.

Mémoire privée 31 bits

La mémoire 31 bits disponible pour l'initiateur de canal limite le nombre de connexions simultanées que CHINIT peut avoir.

Chaque canal utilise environ 170KB de région privée étendue dans l'espace adresse de l'initiateur de canal. Pour les canaux de transmission de messages, par exemple les canaux émetteur ou récepteur, le stockage est augmenté en fonction de la taille des messages si les messages de taille supérieure à 32KB sont transmis. Cette augmentation de la mémoire est libérée lorsque:
  • Un canal émetteur ou client requiert moins de la moitié de la taille de la mémoire tampon en cours pour 10 messages consécutifs.
  • Un signal de présence est envoyé ou reçu.

L'espace de stockage est libéré pour être réutilisé au sein de l' Language Environment, mais il n'est pas considéré comme libre par le gestionnaire z/OS® de stockage virtuel. Cela signifie que la limite supérieure du nombre de canaux dépend de la taille des messages et des modèles d'arrivée, ainsi que des limitations des systèmes utilisateur individuels sur la taille de la région privée étendue.

La limite supérieure du nombre de canaux est probablement d'environ 9000 sur de nombreux systèmes car il est peu probable que la taille de la région étendue dépasse 1.6GB.

La trace de l'initiateur de canal est écrite dans un espace de données. La taille du stockage de l'espace de données est contrôlée par le paramètre TRAXTBL . Voir ALTER QMGR.

Mémoire privée 64 bits

Le paramètre MEMLIMIT du JCL de l'initiateur de canal définit la quantité maximale de mémoire 64 bits disponible. 2 Go d'espace de stockage, MEMLIMIT=2G, est la valeur minimale à utiliser. En fonction de votre configuration, il se peut qu'il soit nécessaire d'en faire plus.

Vous devriez spécifier une valeur raisonnable de MEMLIMIT plutôt que MEMLIMIT=NOLIMIT afin d'éviter tout problème potentiel. Si vous spécifiez NOLIMIT ou une valeur très élevée, vous risquez d'utiliser tout le stockage virtuel disponible sur z/OS, ce qui entraînera une pagination dans votre système. Lorsque vous augmentez la valeur de MEMLIMIT, vous devez discuter du nouveau paramètre avec le programmeur de votre système z/OS au cas où il y aurait une limite au niveau du système sur la quantité d'espace de stockage qui peut être utilisée.

Si la valeur de MEMLIMIT est élevée, il se peut que vous deviez augmenter la taille de vos ensembles de données de vidage, car davantage de données sont capturées dans un vidage.

Il existe deux utilisateurs de stockage 64 bits dans l'initiateur de canal: les canaux SMF et les canaux de connexion serveur.

SMF

Si cette option est activée, la comptabilité ou les statistiques de la classe SMF 4 requièrent un stockage 64 bits. Une mémoire minimale de 256MB est requise. Si l'espace de stockage disponible est insuffisant, l'initiateur de canal émet le message CSQX124E et les statistiques et la comptabilité de classe 4 ne sont pas disponibles.

Canaux de connexion serveur

A partir de IBM MQ 9.4.0 , les canaux de connexion serveur allouent des mémoires tampon de messages dans la mémoire 64 bits, s'ils transfèrent des messages dont la taille est supérieure à 32 Ko.

Ces mémoires tampon sont libérées si les canaux nécessitent moins de la moitié de la taille de mémoire tampon en cours pour 10 messages consécutifs, ou si un signal de présence est envoyé ou reçu.

La valeur de MEMLIMIT fixe une limite supérieure au nombre de canaux de connexion au serveur pouvant fonctionner simultanément. Vous devez utiliser une valeur minimale de MEMLIMIT=2G pour vous assurer que le même nombre de chaînes peut fonctionner que dans les versions antérieures de IBM MQ, tout en prévoyant une certaine capacité de croissance.

Vous pouvez calculer une valeur approximative pour MEMLIMIT en déterminant le nombre maximal de canaux de connexion au serveur actifs simultanément et, pour ces canaux, la taille maximale des messages que vous souhaitez qu'ils transfèrent. Vous devez utiliser MEMLIMIT=2G comme point de départ et arrondir à l'unité supérieure.

Par exemple, si vous fixez le nombre maximal de canaux de connexion au serveur à 2 000 et que chaque canal a une taille de message maximale de 1MB, les canaux de connexion au serveur utilisent au maximum un peu moins de 2GB de mémoire 64 bits. Comme ce chiffre est très proche de 2GB, vous devriez l'arrondir à MEMLIMIT=3G.