## Name

gfperf-metadata — Gfarm メタデータの性能測定を行う。

## Synopsis

`gfperf-metadata` [-n, --number `テスト実施数`] [-t, --testdir `テストディレクトリ`] [-u, --unit `出力の単位`]

## DESCRIPTION

引数 `テストディレクトリ` にテスト用のファイルやディレクトリを作成し、その実行性能を測定します。

測定する項目は次の通りです。

create

  gfs_pio_create()またはcreat()の性能を測定します。 出力結果は１回辺りの平均値です。

readdir

  gfs_opendir_caching()から`テスト実施数`分gfs_readdir()を行い、gfs_closedir()を実行するまでの性能を測定します。 posixの場合はopendir()から`テスト実施数`分readdir()を行い、closedir()を実行するまでの性能を測定します。 出力結果は上記測定にかかった時間を`テスト実施数`で割った平均値です，

readdir+stat

  上記readdirの測定時に`テスト実施数`分gfs_lstat_cached()またはlstat()を実行した時間を足して測定したものです。 出力結果は測定にかかった時間を`テスト実施数`で割った平均値です。

unlink

  gfs_unlink()またはunlink()の性能を測定します。 出力結果は１回辺りの平均値です。

mkdir

  gfs_mkdir()またはmkdir()の性能を測定します。 出力結果は１回辺りの平均値です。

stat

  gfs_lstat()またはlstat()の性能を測定します。 出力結果は１回辺りの平均値です。

chmod

  gfs_chmod()またはchmod()の性能を測定します。 出力結果は１回辺りの平均値です。

utimes

  gfs_utimes()またはutimes()の性能を測定します。 出力結果は１回辺りの平均値です。

rename

  gfs_rename()またはrename()の性能を測定します。 出力結果は１回辺りの平均値です。

symlink

  gfs_symlink()またはsymlink()の性能を測定します。 出力結果は１回辺りの平均値です。

readlink

  gfs_readlink()またはreadlink()の性能を測定します。 出力結果は１回辺りの平均値です。

setxattr

  gfs_setxattr()またはsetxattr()の性能を測定します。 出力結果は１回辺りの平均値です。

getxattr

  gfs_getxattr()またはgetxattr()の性能を測定します。 出力結果は１回辺りの平均値です。

removexattr

  gfs_removexattr()またはremovexattr()の性能を測定します。 出力結果は１回辺りの平均値です。

rmdir

  gfs_rmdir()またはrmdir()の性能を測定します。 出力結果は１回辺りの平均値です。

## OPTIONS

`-n, --number` `テスト実施数`

  それぞれの測定項目に対して何回実施するかを指定します。デフォルトは250です。

`-t, --testdir` `テストディレクトリ`

  テストを実施するディレクトリを指定します。 gfarm url(gfarm:///で始まるもの)を指定した場合、該当のgfarm上のディレクトリに対してlibgfarmの関数を使用した場合の性能を測定します。 file url(file:///で始まるもの)を指定した場合、該当のunixファイルシステム上にposixの関数を使用した場合の性能を測定します。 デフォルトはgfarm:///tmpです。

`-u, --uinit` `出力の単位`

  ops(operations per second)またはusecを指定します。指定した単位で出力を返します。デフォルトはopsです。