Server Management |
ファイルメーカーWeb公開表示スピードをさらに高速化するために(1) 09/05/2008 13:05:51 |
Webサイトを「商売道具」として活用されているお客様は、その機能やスピードの向上はそのまま売上に影響する。さらに、お客様に「ファイルメーカーWeb公開ソリューション」を商品としている会社にとっても、「ファイルメーカーは遅い」という不評はそのまま会社の売上にも影響する。 ファイルメーカーのWeb公開表示スピードアップを考えるとき、 1)フィールドの索引(インデックス)設定をオンにする 2)使用しないフィールドはレイアウトから外す 3)数万文字のテキストが入っているようなフィールドは検索から除外する、 可能であれば代用のキーワードフィールド等を作成する。 4)検索結果レコード数をなるべく少なくするように工夫する。 5)検索結果のソートを無しにするか、極力減らす。 ソート済みの順でレコードをインポートし直すことで、一つのソートは削除できる。 6)早いCPU、ハードディスク、ネットワークなどインフラ整備 といったことが基本設定として重要である。 6)のケースで考えると、処理の重い検索や集計などのリクエストが入ると、CPUがフル稼働になり、待ち時間に絶えられなくなったユーザーからのリロードも発生し、悪循環のサイクルに突入する。とくにFM Web Publishing Engineの負荷は相当なようで、常時CPUとメモリの資源を消費し、スレッド数も増えてくる。そうなると、4GB以上のメモリ、最新の高速マルチコアCPUといった設備が必須になってくる。 しかし、ハードの充実は随時行うことは難しく、コストに大きく影響する。やはりデータベースやスクリプトの構造などソフト面を見直すのが賢明だ。そこで、1)の適用が出来ない場合の例として、リレーショナル、集計関数などどうしても索引設定ができないフィールドの問題を考えてみたい。 一つの例として、足を引っ張るその「索引設定不可フィールド」をそのままWeb公開に使わない方法がある。 例えば、「今月の売上集計」をWebで表示させる場合、ファイルメーカーの視点だけで考えると、ファイルメーカー上で日々の集計用フィールドを作り、そのフィールドをWeb公開すると考えられる。 しかし、ここで集計作業をファイルメーカーに計算させると、索引設定ができないフィールドに対して1日の集計x日数分の計算で、表示時間がかかってしまい、恐ろしい結果になる。 そんな時は、ファイルメーカーの集計用フィールドを表示するのではなく、ファイルメーカーから送出された1日のデータをPHP側で計算させればよい。 さらに、その結果をカレンダー形式で表示したい場合も、あえてファイルメーカー側で365日の関連テーブルを作る必要はない。PHP側で表示分の日数の配列を作り、その配列処理の中にファイルメーカーの検索結果を含めて表示させれば、無駄な日数分の検索作業をファイルメーカーにさせる必要は無くなる。 ファイルメーカーのメリットは使いやすさではあるが、Web公開を行うことでさらにスピードアップを図ることも可能なのだ。ファイルメーカーの機能に加え、専門知識は必要であるが、ぜひJavaScriptやPHPなどWebならではの機能を活用していきたい。 |
Comments |