はじめに
チューニングの一策として、メモリの増量というスケールアップが考えられます。これによりMarkLogicではRange Indexを用いたプログラミングによる解決などに踏み込む余地ができる訳です。一方で巨大なデータ処理の際に発生するExpand Tree Cache エラーなどはパラメータを変えないと解決しないようです。ver9を前提にそれらについてまとめておきます。
DBパラメータ
いずれも管理者画面(ポート8001番)から、Configure→Groups→DefaultでConfigureタブの中にあります。下記のようにインストール時にはメモリに比例してパラメータが設定されるので、増設時にも対応が必要になります。こちらも参考になります。
パラメータ | インストール時の設定値(メモリ増設時の指標) |
---|---|
list cache size | メモリの1/8倍 |
compressed tree cache size | メモリの1/16倍 |
expanded tree cache size | メモリの1/8倍 |
triple cache size | メモリの1/16倍 |
triple value cache size | メモリの1/8倍 |
スワップ領域とLinux Huge Page
もう一点、OSがLinuxだった場合のスワップ領域の設定についても確認しましょう。こちらのサイトが参考になります。
対象 | 推奨値 |
---|---|
スワップ領域 | (Linux Huge Pageを除いた)メモリと同値または32GBのいずれか小さい方 |
Linux Huge Page | メモリの3/8倍 |
Red Hat Linuxを前提として、以下のように例が挙げられています。
(例)メモリ48GB、Linux Huge Pageを設定する場合、
Linux Huge Page = 48 * 3/8 = 18GB
スワップ領域 = 48 - 18 = 30GB < 32GB
おわりに
今回は、メモリの増設時のパラメータ変更についてまとめました。折角メモリを追加しても、これらのパラメータを変えなければ効果は出ません。是非お気を付け下さい。
\def\textsmall#1{%
{\rm\scriptsize #1}
}
免責事項
$\textsmall{当ユーザ会は本文書及びその内容に関して、いかなる保証もするものではありません。}$
$\textsmall{万一、本文書の内容に誤りがあった場合でも当ユーザ会は一切責任を負いかねます。}$
$\textsmall{また、本文書に記載されている事項は予告なしに変更または削除されることがありますので、予めご了承ください。}$