PRIMECLUSTER Global File Services Configuration and Administration Guide 4.2 (Solaris(TM) Operating Environment) |
Contents Index |
Part 2 Global File Services Local File System | > Chapter 9 Performance and Tuning | > 9.2 Performance and Tuning |
This section discusses the tuning parameters of the GFS Local File System.
The GFS Local File System enables tuning of the following items:
These settings can be changed by /etc/system or options (mount options field of /etc/vfstab allowed) at mount(1M).
If the settings are changed by /etc/system, an area of the specified value is secured on the kernel memory for each file system regardless of the sizes of the file systems.
If the settings are specified by option at mount(1M), an area of the specified value is secured on the kernel memory for the corresponding file system (the values specified by /etc/system are ignored)
Therefore, to tune the items according to the amounts of individual file system resources, the setting values should be changed by option at mount(1M). See mount_sfxfs(1M) for details.
These settings are used to secure an area whose size is determined by multiplying the specified value by 1 kilobyte for extent management and directory data plus an area whose size is determined by multiplying the specified value by 4 kilobytes for an i-node on the kernel memory for each file system.
Use the GFS Local File System -dedicated command, sfxstat(1M), to check the extent, directory, and hit rate of the i-node cache on the disk for tuning. Refer to the command reference for details of the sfxstat(1M) command.
If the size of a directory exceeds the size of the GFS Local File System directory cache, access to and update of entry data of the corresponding directory become extremely slow. In an environment containing a large directory, we strongly recommend that the size of the cache for the directory be larger than the expected size of the directory.
There are two methods of changing the tuning parameters. One method is to edit /etc/system and the other method is to specify options in mount(1M).
mount(1) has the following options for changing the values of the tuning parameters. Specify appropriate values for the options in mount(1M):
- textent=<val>Amount of extent management data to be cached in memory, in 1-kilobyte units.
- tdir=<val>Amount of directory data to be cached in memory, in 1-kilobyte units.
- tinode=<val>Amount of i-nodes on the disk to be cached in memory, in 4 kilobyte units.
- tquota=<val>Amount of quota information to be cached in memory, in 1-kilobyte units.
The following is an example of specification:
Example of specification
# mount -F sfxfs -o textent=512,tdir=1024,tinode=512,tquota=256 /dev/dsk/c2t1d0s0 /sfxfs
Use a text editor such as vi to edit the /etc/system file to set each tuning parameter to an appropriate value.
The following is an example of settings:
Example of settings
set sfxfs:sfxfs_ncache_extent=512
set sfxfs:sfxfs_ncache_directory=1024
set sfxfs:sfxfs_ncache_inode=512
set sfxfs:sfxfs_ncache_quota=256
Since the values are automatically set according to the amount of memory installed in the system, do not set up the tuning parameters unless a performance problem occurs.
Be careful when modifying the /etc/system file because its settings are important to the system.
The minimum and maximum values of each tuning parameter are listed below.
Tuning parameter |
Minimum value |
Maximum value |
sfxfs_ncache_extent |
192 |
32768 |
sfxfs_ncache_directory |
512 |
16384 |
sfxfs_ncache_inode |
128 |
4096 |
sfxfs_ncache_quota |
64 |
4096 |
The values of the system settings can be confirmed by executing the crash command with one or more GFS Local File Systems mounted.
The method of confirmation is as follows:
# crash <<!
od -d sfxfs_ncache_extent
od -d sfxfs_ncache_directory
od -d sfxfs_ncache_inode
od -d sfxfs_ncache_quota
!
The values are displayed as in the following example:
> dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout
> 61bf37e8: 0000000576
> 61bf37e4: 0000002048
> 61bf3800: 0000000256
> 61bf380c: 0000000128
The following meta-data cache areas grow automatically, if these are used in a system.
There is a maximum value in the size of the meta-data cache area in the whole node, and it is made not to occupy kernel memory area by automatic expansion. The meta-data cache area size upper limit is 64MB.
When grow size arrived at the upper limit size of meta-data cache area during use, the following messages are indicated. At this time, automatic extension of a meta-data cache area is not performed, but a meta-data cache area is replaced and used.
sfxfs:0120: mntpoint: meta data cache grow failed because of size limitation
When implementation memory is large, grow upper limit size of meta-data cache area can be change greatly.
The meta-data cache area grow limit size is set in the /etc/system file, in kilobytes.
Please note that the memory is used up to the setting value when it tunes up the meta-data cache area grow limit size.
In order not to affect the memory for normal node operation, please estimate the grow limit size from the available memory size that has been left out after subtracting the kernel memory for the system and the ones for the application from the total system memory.
The example of setting the meta-data cache area grow limit size to 128megabytes is shown as follows.
set sfxfs:sfxfs_metagrow_limit=0x20000
Contents Index |