GFS 共用ファイルシステムでは、キャッシュ量に関する以下の項目についてチューニングができます。
ファイルの間接エクステント管理情報 (IEX) をメモリへキャッシュする量 (SFCFS_NCACHE_IEX)
ディレクトリ情報をメモリへキャッシュする量 (SFCFS_NCACHE_DIRECTORY)
ファイルシステムごとに、以下の大きさの領域が MDS のプロセス空間に確保されます。
ファイルの間接エクステント管理情報のキャッシュ
SFCFS_NCACHE_IEX の指定値 × 1.4 キロバイト
ファイルシステムの空きエクステント管理情報のキャッシュ
SFCFS_NCACHE_EXTENT の指定値 × 1.4 キロバイト
ディレクトリ情報のキャッシュ
SFCFS_NCACHE_DIRECTORY の指定値 × 1.4 キロバイト
iノードのキャッシュ
SFCFS_NCACHE_INODE の指定値 × 4.4 キロバイト
各チューニングパラメタのデフォルト値、設定可能な値の範囲と確保されるメモリ量は、以下のとおりです。
チューニングパラメタ名 | デフォルト値 | 最小値 | 最大値 | デフォルト値の場合に確保されるメモリ量 |
---|---|---|---|---|
SFCFS_NCACHE_IEX | 512 | 512 | 1048576 | 0.7 |
SFCFS_NCACHE_EXTENT | 2304 | 192 | 32768 | 3.2 |
SFCFS_NCACHE_DIRECTORY | 10240 | 64 | 16384 | 14.0 |
SFCFS_NCACHE_INODE | 2048 | 32 | 16384 | 8.8 |
チューニングパラメタは、sfcadm(1M) の -o オプションで値を指定します。
以下に設定例を示します。
設定例:
# sfcadm -o SFCFS_NCACHE_IEX=5120 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_EXTENT=4096 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_DIRECTORY=20480 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_INODE=5120 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> |
設定された値は、sfcinfo(1M) の -e オプションで確認します。
以下に確認例を示します。
確認例:
# sfcinfo -e /dev/sfdsk/gfs01/dsk/volume01 | grep SFCFS_NCACHE <Enter> SFCFS_NCACHE_IEX=5120 SFCFS_NCACHE_EXTENT=4096 SFCFS_NCACHE_DIRECTORY=20480 SFCFS_NCACHE_INODE=5120 |
ポイント
MDS が実際に確保した IEX キャッシュ量は、GFS 共用ファイルシステムのマウント時に出力される MDS の情報メッセージで確認することができます。このメッセージは、プライマリ MDS が動作するノードの /var/adm/messages に出力されます。
以下に確保されたIEXキャッシュ量の確認例を示します。
確保されたIEXキャッシュ量の確認例:
# mount /mnt/gfs01 <Enter> # grep "sfcfs_mds:3022" /var/adm/messages <Enter> Sep 1 16:20:10 host1 sfcfsmg[7550]: [ID 702911 daemon.notice] NOTICE: sfcfs_mds:3022: 1: amount of meta cache IEX is 5120 |
ディレクトリのサイズがディレクトリキャッシュサイズを超えると、そのディレクトリへのファイル作成や検索の性能が低下します。サイズの大きなディレクトリが作成される可能性がある場合は、SFCFS_NCACHE_DIRECTORY の指定値を大きく設定することを強く推奨します。
また、チューニングする際は、GFS 共用ファイルシステム専用の統計コマンド sfcstat(1M) の -m オプションを使用し、チューニングパラメタに対応するメタキャッシュのキャッシュヒット率を調べてください。キャッシュヒット率は、アクセス回数とキャッシュヒット回数から求められます。キャッシュヒット率が低い場合は、チューニングパラメタの指定値を大きくすることを検討してください。
各チューニングパラメタと、sfcstat(1M) の -m オプションで表示されるメタキャッシュの種別との対応は、以下のとおりです。
チューニングパラメタ名 | メタキャッシュの種別 |
---|---|
SFCFS_NCACHE_IEX | IEX |
SFCFS_NCACHE_EXTENT | NODE, LEAF |
SFCFS_NCACHE_DIRECTORY | DIR |
SFCFS_NCACHE_INODE | DINODE |
参照
SFCFS_NCACHE_IEX のチューニングが必要な場面については、本書の“C.3.6 ファイルアクセス性能が低下する場合の対処”を参照してください。
キャッシュ量をデフォルトに戻す場合は、各チューニングパラメタの設定を削除します。
以下に削除例と確認例を示します。
削除例:
# sfcadm -o SFCFS_NCACHE_IEX= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_EXTENT= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_DIRECTORY= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_INODE= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> |
確認例:
# sfcinfo -e /dev/sfdsk/gfs01/dsk/volume01 | grep SFCFS_NCACHE <Enter> |
何も表示されなければ、設定されていません。