スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)
HiRDB/パラレルサーバの各ユニットが使用するメモリ所要量は,次の表に示すすべての項目を加算した値です。
なお,OSのオペレーティングシステムパラメタのshmmax(Solaris版の場合はshmsys:shminfo_shmmax,Linux版の場合はSHMMAX)の指定値については,「21.OSのオペレーティングシステムパラメタの見積もり」を参照してください。
表16-7 HiRDB/パラレルサーバの各ユニットが使用するメモリ所要量
項目 | メモリ所要量(単位:キロバイト) | |||
---|---|---|---|---|
プロセス固有領域 | ユニットコントローラ全プロセスが使用するプロセス固有領域 | ●32ビットモードの場合 J+K×ユニット内FES数+L×(ユニット内BES数+ユニット内DS数)+↑{(64+48×(v+1))×(pd_max_server_processの値−w)+z}÷1024↑+aa ●64ビットモードの場合 J+K×ユニット内FES数+L×(ユニット内BES数+ユニット内DS数)+↑{(64+64×(v+1))×(pd_max_server_processの値−w)+z}÷1024↑+aa ●プラグインを使用する場合,加算します。 +1400 ●非同期READ機能を使用する場合,加算します。 +s ●リアルタイムSANレプリケーションを使用する場合,加算します。 +↑(A+B+C)÷1024↑ ●pd_process_terminatorオペランドにfixedを指定した場合,加算します。 +M×(pd_process_terminator_maxの値−1) ●インメモリデータ処理を行う場合,加算します。 +↑{T×(pd_max_bes_processの値×2+7)×ユニット内BES数}÷1024↑ ●通信トレース格納最大数を変更する場合,加算します。 +↑V÷1024↑ |
||
各サーバプロセスが使用するプロセス固有領域※1 ※2 | フロントエンドサーバ | (N+h+m+p+q)×(b+3)+100+y ●通信トレース格納最大数を変更する場合,加算します。 +↑W÷1024↑ |
||
ディクショナリサーバ | pd_work_buff_mode=each指定時 | {(P+i+m+r+t)×(b+3)}+ (a+9)×2+100+y+S ●通信トレース格納最大数を変更する場合,加算します。 +↑W÷1024↑ |
||
pd_work_buff_mode=pool指定又は省略時 | {(P+i+m+r+t)×(b+3)} +a+9+↑a÷128×0.1↑+100+n+y+S ●通信トレース格納最大数を変更する場合,加算します。 +↑W÷1024↑ |
|||
バックエンドサーバ | pd_work_buff_mode=each指定時 | {Q+g+(a+9)×c+i+m+r+t} ×(b+3)+100+y+S ●インメモリデータ処理を行う場合,加算します。 +↑{T×(pd_max_usersの値+3)}÷1024↑ ●通信トレース格納最大数を変更する場合,加算します。 +↑W÷1024↑ |
||
pd_work_buff_mode=pool指定又は省略時 | ●32ビットモードの場合 (Q+g+a+9 +↑a÷128×0.1+11↑+i+m+r+t) ×(b+3)+100+n+y+S ●64ビットモードの場合 (Q+g+a+9 +↑a÷128×0.1+15↑+i+r+t) ×(b+3)+100+n+y+S ●インメモリデータ処理を行う場合,加算します。 +↑{T×(pd_max_usersの値+3)}÷1024↑ ●通信トレース格納最大数を変更する場合,加算します。 +↑W÷1024↑ |
|||
共用メモリ | ユニットコントローラ用共用メモリ中,ユニットコントローラが使用する領域 | ↑d÷1024↑ | ||
ユニットコントローラ用共用メモリ中,各サーバが使用する領域※1 | e | |||
グローバルバッファ用共用メモリ | f | |||
インメモリデータ処理用共用メモリ | U | |||
ユティリティ用共用メモリ | u | |||
セキュリティ監査情報用バッファ用共用メモリ | ●システムによる自動計算の場合 ↑0.3+MAX{(R+100),(R×1.2)}×0.25↑ ●ユーザ指定値(pd_audit_def_buffer_sizeオペランドを指定)にする場合 pd_audit_def_buffer_sizeの指定値 |
|||
プロセス間メモリ通信用共用メモリ※3 | j×k |
(90+ 90 Σ RDエリア用HiRDBファイルシステム領域管理用メモリ) i=1 ×pd_max_ard_processの値 |
{(ファイル数※1+増分数※2)÷64}×1.5※3 |
347+作業表用HiRDBファイルシステム領域管理用メモリ+ システムログ用HiRDBファイルシステム領域管理用メモリ+ 90 ΣRDエリア用HiRDBファイルシステム領域管理用メモリ i=1 |
{(ファイル数※1+増分数※2)÷64}×1.5※3 |
(D+E+F)×ディクショナリサーバ数+(D+E+F+G)×バックエンドサーバ数+ΣH |
変数 | 値 |
---|---|
D | ●32ビットモードの場合 246762+4×pd_max_rdarea_noの値 +{48×(pd_max_rdarea_noの値+表数)+304}×((pd_max_usersの値※+pd_max_reflect_process_countの値)×2+7) ●64ビットモードの場合 305274+8×pd_max_rdarea_noの値 +{64×(pd_max_rdarea_noの値+表数)+512}×((pd_max_usersの値※+pd_max_reflect_process_countの値)×2+7) 表数:62+MAX{pd_max_access_tablesの値,500} |
E | b1×X+b2×Y b1:サーバ用ステータスファイルのレコード長<4096の場合 MAX((↓(3400÷((↓((レコード長−40)−308)÷20↓) +(↓(レコード長−40)÷20↓)×(MAX(↓4096÷レコード長↓,2)−1)) +0.7)↓),1)×MAX(↓4096÷レコード長↓,2)×(レコード長−40) 4096≦サーバ用ステータスファイルのレコード長<12288の場合 MAX(↓(3400÷(↓(((レコード長−40)−308)÷20)↓)+0.7)↓,1) ×(レコード長−40) 12288≦サーバ用ステータスファイルのレコード長の場合 MAX(↓(3400÷(↓(((レコード長−40)−836)÷20)↓)+0.7)↓,1) ×(レコード長−40) X:サーバ内のRDエリア数≦3400の場合:1 3401≦サーバ内のRDエリア数≦6800の場合:2 6801≦サーバ内のRDエリア数の場合:3 b2:サーバ用ステータスファイルのレコード長<4096の場合 (↓(5662310÷((↓((レコード長−40)−308)÷20↓) +(↓(レコード長−40)÷20↓)×(MAX(↓4096÷レコード長↓,2)−1)) +0.7)↓)×MAX(↓4096÷レコード長↓,2)×(レコード長−40) 4096≦サーバ用ステータスファイルのレコード長<12288の場合 ↓(5662310÷(↓(((レコード長−40)−308)÷20)↓)+0.7)↓ ×(レコード長−40) 12288≦サーバ用ステータスファイルのレコード長の場合 ↓(5662310÷(↓(((レコード長−40)−836)÷20)↓)+0.7)↓ ×(レコード長−40) Y:サーバ内のRDエリア数≦10200の場合:0 10201≦サーバ内のRDエリア数≦5672510の場合:1 5672511≦サーバ内のRDエリア数≦11334820の場合:2 11334821≦サーバ内のRDエリア数の場合:3 |
F | pd_dbsync_pointオペランドにcommitを指定している場合,加算します。 +112×((pd_max_usersの値※+pd_max_reflect_process_countの値)×2+7) |
G | pd_inner_replica_controlオペランドに1以上を指定している場合,加算します。 ●32ビットモードの場合 (48×pd_inner_replica_controlの値+80)×((pd_max_usersの値※+pd_max_reflect_process_countの値)×2+7) ●64ビットモードの場合 (64×pd_inner_replica_controlの値+160)×((pd_max_usersの値※+pd_max_reflect_process_countの値)×2+7) |
H | サーバ内のキャラクタ型スペシャルファイル上に作成されたRDエリアを格納したHiRDBファイルシステム領域数が1001以上のバックエンドサーバに対して加算します。 ●32ビットモードの場合 12012×(↑(キャラクタ型スペシャルファイル上に作成されたRDエリアを格納したHiRDBファイルシステム領域数−1000)÷1000↑) ●64ビットモードの場合 16016×(↑(キャラクタ型スペシャルファイル上に作成されたRDエリアを格納したHiRDBファイルシステム領域数−1000)÷1000↑) |
OS | Jの値 | Kの値 | Lの値 | Mの値 | Nの値 | Pの値 | Qの値 |
---|---|---|---|---|---|---|---|
HP-UX(32ビットモード) | 80,000 | 9,700 | 12,600 | 2,800 | 4,700 | 3,800 | 3,600 |
HP-UX(32ビットモードのPOSIXライブラリ版) | 127,300 | 10,300 | 12,900 | 3,000 | 5,200 | 4,300 | 5,000 |
HP-UX(64ビットモード) | 80,700 | 10,300 | 13,400 | 2,800 | 5,100 | 4,300 | 4,000 |
HP-UX (IPF) | 170,200 | 10,400 | 13,200 | 2,700 | 6,800 | 7,700 | 7,400 |
AIX(32ビットモード) | 67,700 | 8,400 | 10,700 | 2,200 | 5,100 | 4,100 | 4,300 |
AIX(32ビットモードのPOSIXライブラリ版) | 123,700 | 16,800 | 19,200 | 5,000 | 7,900 | 7,300 | 7,400 |
AIX(64ビットモード) | 106,200 | 20,100 | 26,300 | 6,100 | 11,900 | 11,400 | 11,600 |
Solaris(32ビットモード) | 71,100 | 6,100 | 7,600 | 1,400 | 2,600 | 2,100 | 4,100 |
Solaris(32ビットモードのPOSIXライブラリ版) | 121,100 | 6,800 | 8,200 | 1,700 | 2,800 | 2,300 | 4,400 |
Solaris(64ビットモード) | 89,100 | 8,800 | 11,400 | 2,300 | 3,800 | 3,000 | 6,400 |
Linux(32ビットモード) | 74,200 | 6,700 | 8,800 | 1,700 | 2,900 | 4,300 | 4,300 |
Linux (IPF) | 146,300 | 11,000 | 14,500 | 3,000 | 4,600 | 4,800 | 4,800 |
Linux (EM64T) | 110,700 | 23,100 | 30,500 | 6,300 | 9,800 | 10,900 | 11,000 |
表16-8 SQL文ごとの作業表数の求め方
SQL文 | 作業表数の求め方 |
---|---|
SELECT文 INSERT(-SELECT)文 |
1.〜8. の指定がない場合:0 1.〜8. の指定がある場合:該当する作業表数をすべて加算した値
|
UPDATE文 DELETE文 |
探索条件中のインデクスを定義した列数+1 |
DROP SCHEMA文 DROP TABLE文 DROP INDEX文 CREATE INDEX文 REVOKE文でアクセス権限を取り消す場合 |
2 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.