FileMaker Server Admin Consoleには「使用状況」と呼ばれる、FileMaker Serverの動作パフォーマンスや接続状況を確認する機能が用意されている。FileMaker Server 11ではサーバのほか、クライアントの情報も補足できるようになった。今回は、これらの数値を活用してパフォーマンスの改善につなげる方法を紹介しよう。

FileMaker Serverの「使用状況」とは

FileMaker Server Admin Consoleには「使用状況」と呼ばれる、FileMaker Serverの動作パフォーマンスや接続状況を確認する機能が用意されている。FileMaker Server 11ではサーバのほか、クライアントの情報も補足できるようになった。使用状況を活用してパフォーマンスの改善につなげるには、「これらの数値が何を意味し、どこを改善すべきか」を知っておく必要がある。あらかじめヘルプで熟読しておきたいところだ。

サーバの使用状況で確認できる情報は次のとおり。

接続の使用状況・統計

  • FileMaker Proクライアント
  • ODBC/JDBC
  • インスタントWeb公開
  • カスタムWeb公開(PHP、XML、XSLT)

データベースの使用状況・統計

  • I/O時間/呼び出し
  • キャッシュヒット%
  • ディスクKB/秒 (FileMaker Server 9/10)
  • ディスク書き込み キロバイト/秒 (FileMaker Server 11)
  • ディスク読み取り キロバイト/秒 (FileMaker Server 11)
  • データベースを開く (FileMaker Server 9/10)
  • ネットワークKB/秒 (FileMaker Server 9/10)
  • ネットワーク出力 キロバイト/秒 (FileMaker Server 11)
  • ネットワーク入力 キロバイト/秒 (FileMaker Server 11)
  • リモート呼び出し/秒
  • リモート呼び出し進行中 (FileMaker Server 11)
  • 開いているデータベース (FileMaker Server 11)
  • 経過時間/呼び出し
  • 待ち時間/呼び出し
  • 保存していないキャッシュ%

FileMaker Server 10のAdmin Console(Windows)

FileMaker Server 11のAdmin Console(Mac)。9や10の頃に比べ、項目が細分化されている

これらの情報は初期設定の場合、15秒ごとに更新される。データベースサーバ→ログ→使用状況の「収集間隔」から調整が可能だ。

使用状況は初期設定の場合、15秒毎に更新される。この設定は収集間隔で調整する

「I/O時間」「経過時間」「待ち時間」はマイクロ秒単位で表示される。たとえばこれらの値が1,000,000であれば、呼び出しの平均時間が1秒であることを示す。

使用状況・統計には現在値、平均値、最低値、ピーク値の4つの情報が記録される。特定の数値のピーク値が高ければ高いほど、特定の処理に時間がかかっているということになる。平均値がいつも高い場合は、すべての処理をとおして時間がかかっている=FileMakerやWebアプリ側で改善の余地がある可能性があるということに。これらの中から、注目しておきたい値を取りあげよう。

接続の使用状況: FileMaker Proクライアント

FileMaker Serverで公開しているファイルに接続したFileMaker Proのクライアント数。ここにはWeb公開エンジンからのアクセス数は含まれない。

接続の使用状況: カスタムWeb公開(PHP、XML、XSLT)

FileMaker Serverで公開しているファイルに接続したWeb公開エンジン経由のクライアント数。1Web公開エンジンや1PHPファイル=1クライアントではなく、セッション数ととらえておけばいいだろう。たとえば、あるWebアプリで1ユーザが一つの処理が終わらないうちにリロードを繰り返した場合、ユーザ数は1だがクライアント数(セッション数)は増えていくことになる。現在数値が常に1以上の場合、無限ループなどの理由で処理が完了していない接続があるということだ。この場合、高い確率でWeb公開エンジン、FileMaker Serverに高負荷がかかっていることが予想されるので、該当クライアントの強制切断なりファイルのクローズなりをおこなおう。

データベースの使用状況: キャッシュヒット%

FileMaker ServerがデータをハードディスクではなくRAMキャッシュから取得した回数のパーセンテージを示す。データ読み取りはハードディスクよりRAMキャッシュからの方が効率が良く、この値が大きければ大きいほどキャッシュを有効的に使用できていると言える。この値が高くない場合は、データベースサーバ→データベース→データベースキャッシュの→「データベースキャッシュに予約されているRAM」から調節をおこなおう。

最大の設定は、物理 RAM に基づいて動的に決定されます。 最大の設定は、(物理 RAM - 128MB)/4 です。ただし、固定最小容量は 64MB、最大固定容量は 800MB、また物理 RAM は、FileMaker Server を展開しているマスタマシンで利用可能な RAM 容量となります。
特に、大容量のファイル、または多数のクライアントやファイルをサーバでホストする場合は、データベースキャッシュ用に予約する RAM を増やすと、適切に設計されたデータベースの全体的なパフォーマンスを向上させることができます。

キャッシュヒット%は90や95といった高い数字であればあるほど良い。数値が小さい場合は、予約するRAMのサイズを増やしてみよう

データベースの使用状況: 経過時間/呼び出し

各クライアントのリモート呼び出し処理時間。この値が大きいほど、処理完了までに時間がかかったという意味になる。この値の平均値が高い場合、FileMakerやWebアプリの作りを見直してみよう。

  • 索引が保存されないフィールドで検索をおこなっていないか
  • 不必要なソートがおこなわれていないか
  • 計算・集計フィールドの配置数が多すぎないか

FileMaker Server Admin Consoleのヘルプからこれらの値の意味を確認することが可能だ。難しい用語が並ぶが、FileMakerデベロッパならばぜひ覚えておきたい項目ばかり。自分の作成したFileMakerファイルやスクリプト、WebアプリケーションがFileMaker Serverにどのような影響を与えているか、チェックしておこう。

項目の意味の詳細を調べたい場合は、FileMaker Server Admin Consoleのヘルプから確認が可能