6.10 DBを使用するポートレットのためのDBチューニング

DBに格納されている情報を使用して動作する日立APIポートレットのために,DBをチューニングする方法について説明します。

<この節の構成>
(1) 環境変数グループの登録
(2) DB Connectorの設定
(3) DBコネクション数の算出

(1) 環境変数グループの登録

uCosminexus Portal Frameworkではさまざまなポートレット(アプリケーション)が動作します。リポジトリとしてHiRDBを使用する場合,アプリケーション同士の設定が干渉し合わないように,アプリケーション毎に環境変数グループ(システムグループ)を登録する必要があります。ここでは,uCosminexus Portal Frameworkの環境変数グループ名は,「HPTLPORTAL」として登録するものとします。この環境変数グループをCosminexusのWebアプリケーションサーバに引き継ぎます。なお,環境変数グループの詳細は,マニュアル「スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド(Windows(R)用)」またはマニュアル「HiRDB Version 9 UAP開発ガイド(Windows(R)用)」を参照してください。

必ず設定しなければならない環境変数を次の表に示します。

表6-27 設定必須の環境変数

項目機能設定
PDHOST接続するサーバのホスト名を指定します。DBサーバのホスト名
PDUSERユーザ名およびパスワードを指定します。「ユーザ名/パスワード」の形式で指定してください。認可識別子/パスワード
PDNAMEPORT接続するサーバのポート番号(システム定義のpd_name_portで指定した値)を指定します。DBポート番号
PDSWATCHTIMEHiRDBサーバがHiRDBクライアントからの要求に対する応答を返してから,次にクライアントからの要求がくるまでのサーバの最大待ち時間(秒)を指定します。0
PDLOCKSKIP無排他条件判定をするかどうかを指定します。YESの場合は,無排他条件判定をします。YES

(2) DB Connectorの設定

接続情報の設定でJNDIを使用する場合は,CosminexusのWebアプリケーションサーバのDB Connectorを設定します。DB Connectorを設定するため,Resource AdaptersとしてCosminexus Component ContainerのDB Connector機能を使用します。Resource Adaptersへの組み込み方法については,マニュアル「Cosminexus アプリケーションサーバ V8 機能解説 基本・開発編(Webコンテナ)」,またはマニュアル「Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」を参照してください。

DB ConnectorのConnector属性ファイルの設定内容(HiRDBの場合)を次に示します。

<config-property>タグで設定する内容
<config-property>タグでは次の項目を設定してください。

表6-28 <config-property>タグの指定項目

項目名
description@HIRDBENVGRP=HPTLPORTAL
<property>タグで設定する内容
uCosminexus Portal Frameworkでは,取得する情報によって使用するDBコネクション数が変わります。<property>タグのMinPoolSizeおよびMaxPoolSizeに「(3) DBコネクション数の算出」で算出した最大コネクション数を設定してください。

(3) DBコネクション数の算出

接続先をDBに設定した場合,取得する情報によって使用するコネクション数が異なります。DBから取得する情報の設定内容に応じて,DBの最大接続コネクション数を設定してください。取得する情報によって使用するコネクション数を次の表に示します。

表6-29 取得する情報によって使用するコネクション数

取得する情報uCosminexus Portal Frameworkが1リクエスト当たり使用する最大コネクション数
ユーザ情報,グループ情報,組織情報1
共通情報2

なお,各情報を同時に取得することはないので,すべての接続先をDBに設定した場合でも,1リクエスト当たり最大2コネクションになります。

コネクション数の計算例(HiRDB,Oracle,SQL Server共通)
ユーザ情報および共通情報をDBに接続して取得する場合,1リクエスト当たり二つのコネクションを使用します。uCosminexus Portal Frameworkのリクエストを処理する同時実行数を10とした場合,最大で20コネクションを同時に使用します。同時実行数は,ユーザ定義ファイル(usrconf.properties)のwebserver.connector.ajp13.max_threadsに指定した値です。
計算式を次に示します。

1リクエスト当たりのコネクション数(2)×同時実行数(10)=最大コネクション数(20)

なお,HiRDBを使用する場合は,上記の計算式で算出される最大コネクション数以上の値をpd_max_usersに設定してください。