グローバルCICSエンキューおよびデキュー:パフォーマンスとチューニング
グローバルCICS®のenqueueおよびdequeueは、CICSアプリケーション・プログラミング・インターフェースを拡張して、シンプレックス内に含まれる指定された一連のCICSリージョンにわたって、指定されたリソースへのアクセスをシリアライズするenqueueメカニズムを提供します。
グローバルCICSエンキューおよびデキューは、トランザクション間のアフィニティの重要な原因を排除するため、並列シスプレックスの有効活用が可能になり、パフォーマンス、キャパシティ、可用性が向上します。 また、CICSPlex® SMのようなダイナミック・ルーティング・メカニズムにトランザクション間のアフィニティ・ルールを提供する必要性を減らし、並列シスプレックスを利用するシステム管理コストを削減します。
CICSは z/OS®グローバル・リソース・シリアライゼーションを使用して、グローバルCICSエンキューおよびデキューに参加するリソースをシスプレックス全体で保護します。 z/OSグローバルリソースのシリアライゼーションについては、'z/OS MVS計画:グローバル・リソースのシリアライゼーションを参照のこと。
Implementation
ENQMODELリソース定義を使用して、'EXEC CICS ENQおよび'EXEC CICS DEQコマンドがシンプレックス全体のスコープを持つ各名前付きリソースを定義します。 シスプレックス全体にわたるエンキュー機能またはデキュー機能を使用する必要のある CICS 領域すべてにおいて、 必要な ENQMODEL リソースを定義し、インストールする必要があります。 これを確実にするために推奨される方法は、CICSリージョンがCICSシステム定義データセット(CSD)を共有し、初期化グループリストに同じENQMODELグループが含まれるようにすることです。 ENQMODELリソース定義の作成については、ENQMODELリソースを参照してください。
リソース名が動的に構成されるために事前に分からないアプリケーションの場合、エンキュー EXEC インターフェース・プログラム出口 XNQEREQ と XNQEREQC を使用して、リソース名の先頭に、該当する ENQMODEL リソース定義と一致する文字を指定できます。 これらのユーザー終了の詳細については、Enqueue EXEC インタフェース・プログラムの終了 XNQEREQ および XNQEREQC を参照してください。
リソースに対して「EXEC CICS ENQ」および「EXEC CICS DEQコマンドが発行されると、CICSはインストールされているENQMODEL定義が一致するかどうかをチェックする。 エンキューのスコープを指定するENQMODELリソースが一致する場合、CICSはその情報をz/OSグローバル・リソース・シリアライゼーションに渡し、エンキューを管理します。 z/OSグローバル・リソース・シリアライゼーションは、シスプレックス全体でリソースを保護します。
z/OSグローバルリソース直列化には、リソースのスコープを指定するリソース名リスト(RNL)があります。 RNL処理によって、リソースのスコープがCICSのENQMODELリソース定義で指定されたスコープから変更されることがあります。
z/OSのデフォルトでは、グローバルリソース直列化は、enqueueおよびdequeue要求に対して適切なRNLを検索し、リソースのスコープを決定するためにRNLを使用します。 しかし、CICSのデフォルトでは、'NQRNLシステム初期化パラメータによって指定されるように、すべてのenqueueおよびdequeue要求は'RNL=NOを指定するため、RNL処理から除外される。 この動作は、グローバルリソースのシリアライズがCICSのENQMODELリソース定義で指定されたスコープのみを使用することを意味しますが、エンキュー要求が代替のシリアライズ製品によって無視されることも意味します。これは、代替のシリアライズ製品を使用している現在のグローバルリソースのシリアライズ環境外のシステムに対するリソースの保護に影響します。 CICSからのenqueueおよびdequeue要求にRNL処理を使用するようにz/OSグローバル・リソース・シリアライゼーションを設定するには、RNL処理を実行するCICS領域にシステム初期化パラメータ「NQRNL=YES指定します。
グローバルリソース直列化のためのRNL処理の詳細については、'z/OS MVS計画:グローバル・リソースのシリアライゼーション を参照のこと。
推奨
z/OSグローバル・リソース・シリアライゼーションは、システムをグローバル・リソース・シリアライゼーション複合体に結合します。 1 つ以上のシステムが相互にリング構成 (GRS=RING) で接続されるか、スター型構成 (GRS=STAR) でカップリング・ファシリティー・ロック構造に接続されます。 グローバル・リソースの逐次化をスター型構成として初期設定すると、リソース・シリアライゼーションに関するすべての情報は、ISGLOCK カップリング・ファシリティー構造内に保持されます。 グローバル名リソース上でリクエスターがエンキューまたはデキュー命令を発行すると、グローバル・リソースの逐次化はカップリング・ファシリティーにアクセスします。
パフォーマンスの影響にはさまざまな原因がありますが、主に、要求がリングを完了することが遅延するために発生します。 リング内の MVS 画像の数が多く、RESMIL の値が大きいと、リングを完了するリクエストに遅れが生じる。 リクエストが元の MVS イメージに戻るまで、enqueueリクエストは許可されない。 RESMIL (SYS1.PARMLIB の GRSCNF メンバー内) に対しては、0 の値、または 1 以下の値を使用してください。