PRIMECLUSTER Global File Services 説明書 4.1 (Solaris(TM) オペレーティング環境版)
目次 索引 前ページ次ページ

第2部 Global File Services ローカルファイルシステム> 第9章 性能とチューニング> 9.2 性能チューニング

9.2.3 チューニングパラメタ

 GFS ローカルファイルシステムがもつチューニングパラメタについて以下に説明します。

9.2.3.1 メタデータキャッシュ域サイズのチューニング

 GFS ローカルファイルシステムでは、以下の項目についてチューニングを行うことが可能です。

 本設定値の変更は、/etc/system、および mount_sfxfs(1M) 時のオプション(/etc/vfstab の mount optionsフィールドも可)で変更可能です。

 /etc/system で変更した場合は、ファイルシステムの大小にかかわらず、指定した値の領域をファイルシステム数分カーネルメモリ上に確保します。

 mount_sfxfs(1M) 時のオプションで指定した場合は、該当のファイルシステムに対し指定した値の領域をカーネルメモリ上に確保します(/etc/system で指定した値は無視されます)。

 このため、個々のファイルシステムの資源量に応じてチューニングしたい場合には、mount_sfxfs(1M) 時のオプションで設定値を変更することをお勧めします。詳細については、mount_sfxfs(1M) のリファレンスマニュアルを参照してください。

 本設定値は、ファイルシステムごとにエクステント管理とディレクトリ情報については指定値×1 キロバイトの領域を、i ノードについては指定値×4 キロバイトの領域をカーネルメモリ上に確保します。

 GFS ローカルファイルシステム専用の統計情報表示コマンド sfxstat(1M) を使用し、エクステント、ディレクトリ、ディスク上の i ノードのキャッシュヒット率を調べ、チューニングしてください。なお、sfxstat(1M) の詳細については、リファレンスマニュアルを参照してください。

 1つのディレクトリのサイズが GFS ローカルファイルシステムが持つディレクトリのキャッシュサイズを上回ると、該当ディレクトリのエントリ情報の参照、更新が極端に遅くなることがあります。
 大きなディレクトリを作成する環境では、ディレクトリのキャッシュサイズを予想されるディレクトリのサイズより大きく設定することを強く推奨します。

9.2.3.2 変更方法

 チューニングパラメタを変更する方法には、/etc/system を編集する方法と mount_sfxfs(1M) にオプションを指定する方法があります。

 以下に指定例を示します。

# mount -F sfxfs -o textent=512,tdir=1024,tinode=512,tquota=256 /dev/dsk/c2t1d0s0 /sfxfs



set sfxfs:sfxfs_ncache_extent=512

set sfxfs:sfxfs_ncache_directory=1024

set sfxfs:sfxfs_ncache_inode=512

set sfxfs:sfxfs_ncache_quota=256


 設定を行わない場合、システムのメモリ実装量に応じて自動的に個数を設定していますので、性能上の問題がない場合には設定を行わないようにしてください。
 /etc/system ファイルはシステムにとって重要なファイルですので、修正は慎重に行ってください。

9.2.3.3 値の範囲

 チューニングパラメタの各々についての上限値、下限値を示します。

チューニングパラメタ

下限値

上限値

sfxfs_ncache_extent

192

32768

sfxfs_ncache_directory

512

16384

sfxfs_ncache_inode

128

4096

sfxfs_ncache_quota

64

4096

 また、システムの設定値については GFS ローカルファイルシステムを1つ以上マウントした状態で crash(1M) コマンドを実行することにより確認できます。

 以下に確認方法を示します。


# crash <<!

od -d sfxfs_ncache_extent

od -d sfxfs_ncache_directory

od -d sfxfs_ncache_inode

od -d sfxfs_ncache_quota

!


 例えば、以下のように表示されます。


> dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout

> 61bf37e8:  0000000576

> 61bf37e4:  0000002048

> 61bf3800:  0000000256

> 61bf380c:  0000000128


9.2.3.4 メタデータキャッシュ域サイズの上限値のチューニング

 ファイルシステム単位に獲得している、以下のメタデータキャッシュ域がすべて使用された状態になった場合、自動的に拡張されます。

 ノード全体でのメタデータキャッシュ域のサイズには上限値があり、自動的に拡張することによってカーネルメモリ域を占有しないようにしています。メタデータキャッシュ域サイズの上限値は、64 メガバイトです。

 メタデータキャッシュ域サイズが上限値に到達した場合には、以下のメッセージが表示されます。この時、メタデータキャッシュ域の自動拡張は行われず、メタデータキャッシュ域を置き換えて使用します。


sfxfs:0120: mntpoint: meta data cache grow failed because of size limitation


 メタデータキャッシュ域サイズの上限値は、チューニングすることが可能です。

 /etc/system ファイルにキロバイト単位で設定し、設定後には、ノードを再起動することで有効になります。

 メタデータキャッシュ域サイズの上限値をチューニングする場合は、設定値までメモリを獲得するので注意してください。

 ノード全体が正常動作するのに必要なメモリ量を圧迫しないように、実装メモリ量からシステムで使用されるカーネルメモリ量、および、アプリケーションが必要とするメモリ量を差し引いたメモリ量を超えない範囲で指定してください。

 以下に 128 メガバイトの指定例を示します。


set sfxfs:sfxfs_metagrow_limit=0x20000



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

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