Interstage Application Server Smart Repository運用ガイド
目次 索引 前ページ次ページ

付録E RDB(Symfoware/RDB)のメモリの見積もり式

E.8 データベースアクセスの使用メモリ量

 アプリケーションからのデータベースアクセスに伴い、RDBプロセス内に獲得するメモリ量です。

 データベースアクセスの使用メモリ量の見積もり対象は、アクセス対象の表を構成するDSI(表とインデックスのDSI)のうち、当該RDBシステムに偏在するDSIです。(当該RDBシステム配下に定義する表DSIとインデックスDSIが対象)

 データベースアクセスの使用メモリ量の概算は、次の式で見積もってください。

データベースアクセスの使用メモリ量
      = 排他情報の使用メモリ量                ・・(A)
        + インデックス更新情報の使用メモリ量  ・・(B)

 

■(A) 排他情報の使用メモリ量

 データベースの排他制御で使用するメモリ量です。

 排他情報の使用メモリ量の概算は、次の式で見積もってください。

排他情報の使用メモリ量
      = DSI単位の排他を使用するトランザクション単位の使用メモリ量の合計
        + ページ単位の排他を使用するトランザクション単位の使用メモリ量の合計
        + 行単位の排他を使用するトランザクション単位の使用メモリ量の合計

    DSI単位の排他を使用するトランザクション単位の使用メモリ量
          = アクセス対象のDSI数 × 128

    ページ単位の排他を使用するトランザクション単位の使用メモリ量
          = アクセス対象のページ数 × 256

    行単位の排他を使用するトランザクション単位の使用メモリ量
          = アクセス対象のレコード数 × 256
            + キー排他情報の使用メモリ量

        キー排他情報の使用メモリ量
              = インデックスDSI単位のキー排他情報の使用メモリ量の合計

            インデックスDSI単位のキー排他情報の使用メモリ量
                  = 2,068 + 更新キー値数 × 2,128

                更新キー値数
                      = 追加(INSERT)するキー値数
                        + 更新(UPDATE)するキー値数

 

DSI単位の排他を使用するトランザクション単位の使用メモリ量の合計

 DSI単位の排他を使用するトランザクション単位の使用メモリ量の総和です。

 DSI単位の排他を使用するトランザクション単位に使用メモリ量を求め、それらを合計します。

ページ単位の排他を使用するトランザクション単位の使用メモリ量の合計

 ページ単位の排他を使用するトランザクション単位の使用メモリ量の総和です。

 ページ単位の排他を使用するトランザクション単位に使用メモリ量を求め、それらを合計します。

行単位の排他を使用するトランザクション単位の使用メモリ量の合計

 行単位の排他を使用するトランザクション単位の使用メモリ量の総和です。

 行単位の排他を使用するトランザクション単位に使用メモリ量を求め、それらを合計します。

アクセス対象のDSI数

 トランザクション内でアクセスするDSI数です。(表とインデックスのDSI数の合計)

アクセス対象のページ数

 トランザクション内でアクセスするページ数です。(表とインデックスのページ数の合計)

 アクセスするページ数を見積もることは困難ですので、ページ単位の排他であっても、行単位の排他としてメモリ見積もりすることをお勧めします。ページ単位の排他より、行単位の排他の方が見積もり結果が大きくなることが予想されますが、多めに見積もる方が安全です。

アクセス対象のレコード数

 トランザクション内でアクセスするレコード(行)数です。(表のレコード(行)数)

インデックスDSI単位のキー排他情報の使用メモリ量の合計

 インデックスDSI単位のキー排他情報の使用メモリ量の総和です。

 行単位の排他を使用するトランザクション内で更新するインデックスDSI単位に、キー排他情報の使用メモリ量を求め、それらを合計します。

更新キー値数

 当該インデックスDSIの更新キー値数です。

 追加(INSERT)するキー値数と、更新(UPDATE)するキー値数の合計です。
 キー排他情報では、削除(DELETE)するキー値数は、更新キー値数に含みません。

■(B) インデックス更新情報の使用メモリ量

 行単位の排他を使用し、インデックスのキー値を更新するときに使用するメモリ量です。

 インデックス更新情報の使用メモリ量の概算は、次の式で見積もってください。
 XML構造のインデックスを使用する場合は、“BTREE構造データ部のページ長”を“XML構造データ部のページ長”に置き換えて読んでください。

 更新作業用インデックス部のページ数および更新作業用データ部のページ数の見積もりについては、Symfoware Serverのマニュアル“RDB運用ガイド(XMLアダプタ編)”の“XMLデータのインデックスの容量見積もり”を参照してください。

インデックス更新情報の使用メモリ量
      = トランザクション単位のインデックス更新情報の使用メモリ量の合計

    トランザクション単位のインデックス更新情報の使用メモリ量
          = インデックスDSI単位のインデックス更新情報の使用メモリ量の合計

        インデックスDSI単位のインデックス更新情報の使用メモリ量
              = 更新作業用インデックス部のページ数 
                × (150 + BTREE構造データ部のページ長)
                + 更新作業用データ部のページ数 
                × (150 + BTREE構造データ部のページ長)

 

トランザクション単位のインデックス更新情報の使用メモリ量の合計

 トランザクション単位のインデックス更新情報の使用メモリ量の総和です。

 行単位の排他を使用するトランザクション単位に、インデックス更新情報の使用メモリ量を求め、それらを合計します。

インデックスDSI単位のインデックス更新情報の使用メモリ量の合計

 インデックスDSI単位のインデックス更新情報の使用メモリ量の総和です。

 行単位の排他を使用するトランザクション内で更新するインデックスDSI単位に、インデックス更新情報の使用メモリ量を求め、それらを合計します。

更新作業用インデックス部のページ数

 更新作業用のインデックス部のページバッファ数です。

 Symfoware Serverのマニュアル“RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”の“BTREE構造のインデックス部”を参照し、更新作業用インデックス部のページ数を見積もってください。

 ただし、“データ部のページ数”で計算する箇所を“更新作業用データ部のページ数”で、“インデックス部のページ長”で計算する箇所を“BTREE構造データ部のページ長”で計算してください。

更新キー値数 
      = 追加(INSERT)するキー値数 + 更新(UPDATE)するキー値数 × 2
       + 削除(DELETE)するキー値数

BTREE構造データ部のページ長

 当該インデックスDSI(BTREE構造)のデータ部のページ長です。(バイト)

 更新作業用インデックス部のページ長、および更新作業用データ部のページ長は、当該インデックスDSI(BTREE構造)のデータ部のページ長となります。

更新キー値数

 当該インデックスDSIの更新キー値数です。

 追加(INSERT)するキー値数と、更新(UPDATE)するキー値数×2と、削除(DELETE)するキー値数の合計です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007