Provided by: manpages-ja_0.5.0.0.20071115-1_all bug

NHFSSTONE法
       他の全てのベンチマークと同様に、
       使用される試験内容を注意深く設定した場合にのみ、     nhfsstone     は-
       用な数値を提供でい襦    このプログラムはサーバーを測定するので、   NFS
       リクエストの生成に制限がないクライアント上で実行すべい任△襦
       クライアントマシンは、速い
       CPUと優れたイーサーネットインタフェースを備え、
       テストの最中にその他の用途で使用すべい任呂覆ぁ△箸いΠ嫐である。
       Sun-3/50     では、CPU     を使いい訌阿法1     秒当り      60      NFS
       呼び出しが可能である。

       nhfsstone    は「クライアントで生成された全ての    NFS   呼び出しが   1
       つのサーバーに対して行われ、全ての                                  NFS
       負荷はこのクライアントに依るものである」と仮定している。
       この仮定を維持するため、テストの最中は
       クライアントとサーバーの両方を出来る限り静かにさせて
       (他の仕事をさせないで) おくべい任△襦

       ネットワークを高負荷で使用していると、       衝突による遅れがサーバー-
       能の変化を隠してしまうかもしれない。
       クライアントとサーバーのどちらかでエラー率が高いと、
       失われたパケットや壊れたパケットを再送信するために遅れが生じる可能-
       がある。                         netstat(8C)                         -i
       を使ってクライアントとサーバーにおけるエラー率と衝突率を計測でい襦

       サーバーに対する                                                    NFS
       クライアントの影響を最も正しくシミュレートするには、
       サーバーがエクスポートするテストディレクトリを       少なくとも       2
       つのディスクパーティションに置いて、
       かつそれらのパーティションを出来る限り離すべい任△襦         dkinfo(8)
       コマンドを使うと、BSD                                系システムにおける
       ディスクの物理的ジオメトリが分かる。                                NFS
       操作ではディスク全体へランダムにアクセスする傾向があるので、     全ての
       nhfsstone  のテストディレクトリを  1  つのパーティションに置いたり、  2
       つのパーティションが近かったりすると、現実的な結果を示さない。

       全てのテストにおいて、テストを繰り返し行って
       結果を比較するのは、良い考えである。         呼び出しの数は         (-c
       オプションを使って)    呼び出し一回当りの時間     (ミリ秒)     の変化が
       充分小さくなるまで増やすことがでい襦
       呼び出し回数を増やしても助けにならない   (訳註:   何の変化も見られない)
       場合、            実験の設定に何か問題があるかもしれない。            1
       つの一般的な問題としては、
       クライアントのテストマシンにメモリが多すぎる場合がある。
       メモリが多すぎると、 nhfsstone がクライアントのゥ礇奪轡紊望,討此  NFS
       操作がサーバーに全く行かなくなる。                                   -
       ャッシュに問題があると感じた場合は、                                 -p
       オプションを使ってプロセス数を増やすことがでい襦

       nhfsstone
       で生成される数値は、クライアントマシンでのテスト設定を等しくして、
       異なるサーバー設定を比較する場合に最も邑である。          実行する毎に
       nhfsstone
       のパラメータを変更すると、意味のある比較が出来ない数値が生成される。
       たとえば、負荷を生成するプロセスの数は、
       クライアントマシンでのコンテクスト切り替えやその他の遅れにより、
       計測される応答時間に影響を与えるかもしれない。        一方、        NFS
       操作の組み合わせを変更すると、実験の全体的な特世鯤僂┐襪海箸砲覆襦
       その他のクライアント設定についての変更は、               結果が比較で-
       るかに影響を与える可能世ある。       nhfsstone       は実際の      NFS
       統計をサンプリングして、操作の負荷と組み合わせを調整することで、
       クライアント設定の違いを補正しようとするが、
       いくつかの変更は負荷にも組合わせにも反映されない。
       例えば、負荷も組み合わせも変更せず、より速い  CPU を組み込んだり、 別の
       NFS ファイルシステムをマウントすると、応答時間に影響が出るだろう。

       異なるサーバー設定を比較する場合、                 第                 1
       段階では、クライアントのテストディレクトリを設定し、          nhfsstone
       をいくつかの負荷で実行して変動が適度に小さいことを確かめる。    第    2
       段階では、興味を持ったいくつかの負荷で                        nhfsstone
       を実行し、結果を保存する。  第   3   段階では、サーバーの設定を変更する
       (メモリを増やす・ディスクコントローラを変更する、など)。 最終段階では、
       nhfsstone を同じ負荷で再度実行し、結果を比較する。

目
       ソースコード        nhfsstone.c        には、プログラムの詳細な操作を-
       述したコメントが書かれている。

ジ
       illegal calls value
              コマンドラインで指定された    -c    フラグの後の    calls   引-
              数が正の数でない。

       illegal load value
              コマンドラインで指定された    -l    フラグの後の    load    引-
              数が正の数でない。

       illegal time value
              コマンドラインで指定された    -t    フラグの後の    time    引-
              数が正の数でない。

       bad mix file
              コマンドラインで指定された -m フラグの後の mixfile  ファイル引-
              数にアクセスでい覆ぁ

       can't find current directory
              親プロセスがカレントディレクトリのパス名を見つけることがで-
              ない。 権限の問題を表していることが多い。

       can't fork
              親プロセスが子プロセスを             fork              でい覆ぁ
              メモリやスワップ空間といったリソースの不-
              の結果であることが多い。

       can't open log file
       can't stat log
       can't truncate log
       can't write sync file
       can't write log
       can't read log
              同期ログファイルの作成・切り詰め・読み込み・書-
              出しの時に問題が起こった。    親プロセスがログファイルを    /tmp
              に作成し、 子プロセスとの同期や通信に使用する。

       can't open test directory
       can't create test directory
       can't cd to test directory
       wrong permissions on test dir
       can't stat testfile
       wrong permissions on testfile
       can't create rename file
       can't create subdir
              子プロセスがテストディレクトリの内容を作成・検査すると-
              に問題が起こった。    権限の問題   (例えば、テストディレクトリが
              別のユーザーによって作成されている場合)                       や
              ファイルシステムがいっぱいである場合が多い。

       bad mix format: unexpected EOF after 'nfs:'
       bad mix format: can't find 'calls' value
       bad mix format: unexpected EOF after 'calls'
       bad mix format: can't find %d op values
       bad mix format: unexpected EOF
              mix                  ファイルを解析しているとい北簑蠅起こった。
              このファイルの想定されるフォーマットは、 nfsstat(8C)  コマンドを
              "-s" オプションで実行したとい僚侘呂汎韻犬任△襦

       op failed:
              内部的な疑似  NFS  操作の  1  つが失敗した。  操作の名前、例えば
              read, write, lookup が、失敗の種類と共に表示される。

       select failed
              select システムコールが予期せぬエラーを返した。

グ
       nhfsstone                            を                             NFS
       ファイルシステム以外で実行すると、プログラムが永久に動作し続ける。
       このプログラムがカーネルの              NFS              統計を使って、
       充分な呼び出し回数が実行されたかを決定しているためである。

       nhfsstone                        が多くのファイルディスクリプタを使う。
       クライアントのカーネルを再設定し、
       利用可能なファイルテーブルエントリを増やす必要があるかもしれない。

       nhfsstone  を使うシェルスクリプトは  SIGUSR1  (signal(3)  を参照)  を-
       ャッチして無視する必要がある。
       このシグナルはテストプロセスを同期するのに使われる。   このプロセスを-
       ャッチしないと、 スクリプトを実行しているシェルが kill される。

ル
       /vmunix             システムのネームリスト
       /dev/kmem           カーネルの仮想メモリ
       ./testdir*          プロセス毎のテストディレクトリ
       /tmp/nhfsstone%d    プロセスの同期ログファイル

                                4 October 1989                    NHFSSTONE(8)