「FileMakerって遅くて使えないんだよね。」
「データがたまりすぎて画面開くとグルグル。。。業務に支障が(泣)」
ユーザー様から聞こえてくる、こんな悲し苦しい叫びを "なんとかしたい"
※FileMaker=遅いという誤解をなんとか解きたい...
ということで、
今回は、「遅く or 重く」 なったFileMakerソリューションを高速化する
実装簡単なマル秘Tipsをご紹介します。
1.そもそもFileMakerが遅い原因って何だ?
「サーバーが古くて、スペックが弱いからかな?」
「とにかくPCを早いマシンに買い換えようかな?」
よく、インフラ要因では?というご意見をいただきます。
もちろん、ハードやネットワーク機器の老朽化によって、
処理速度・通信面がボトルネックになっているケースもあるので否定することはできませんが、
全て買い換えたからと言って解決に至るわけではない と思われます。
「10年も使ってるからデータ量が多すぎて、、FileMakerの限界かな?」
これはソリューションの中身に着目しているという点で、かなり原因に近づいているのですが
「データ量 = 遅さ」ではなく、さらにその内面に注目する必要がありそうで、、
そう、ズバリ ”設計” が、そもそもの原因であることが多いのです。(けっきょく)
設計というと
・フィールド定義
・リレーションシップ構築
・レイアウト設計
・スクリプト設計
これら全てに、将来、遅く&重くならない為の設計が必要なのですが、
何年も場当たり的に増築してきたソリューションの設計を、今更見直すというのはかなり難しく、
稼働中システムに思い切った"手入れ"をするのは、プロでも勇気がいるドキドキ作業です。
ああ、なんでこんな設計にしてしまったのだろう「昔の自分を呪いたい...」
そんな風に思いながら、既に基幹システム化した巨大ソリューションを日々メンテされているインハウス管理者の方は多いのではないでしょうか?
今回紹介する "高速化Tips" は、
根本的な設計面の改善は一旦置いておき、
実装ストレスの少ない表面的な対処療法で、遅さ・重さの原因を緩和する方法です!
ぜひ↓の方法を試してみてください。
2. 悪さをしているフィールドを探す
ソリューションによって「遅さ・重さ」の原因は様々ですが、
共通して「特定の画面を開いた時に重い」と感じることがほとんどではないでしょうか?
画面が開くまで、レインボーカーソルやコーヒーカップで待たされてイライライラ・・・
その画面の中に、"悪さをしている原因" があります。
レイアウト上の "条件付き書式" や "ポータル"などの要因もありますが、
犯人の代表格は "重い計算フィールド"であることがほとんどです。
不用意な設計で作られた計算フィールドが一つでもレイアウト上にあるだけで
再計算に時間がかかり、初回の画面描画が極端に遅くなります。
この計算フィールドをまずは特定することが第1ステップです。
▼Step1:レイアウト上で悪さをしているであろう計算フィールドに目星をつけます
▼Step2:思い切ってレイアウトから外してみる
3.「$$hidden」で重いフィールドを隠そう!
「遅さ・重さ」の原因フィールドが判明すれば、後は簡単です!
この原因フィールドを、インスペクタの「動作」オプション >「次の場合にオブジェクトを隠す」を使って隠せばいいのです。
▼Step1:計算式を設定して、特定の条件でオブジェクトを隠します。
※「検索モードで適用」にチェックを入れるのもポイントです。
検索モード中の表示負荷をゼロにすることができます。
▼Step2:高速化ボタンを設置します。
▼Step3:ボタンに下のスクリプトをセットします。(極めて簡単!)
▼Step4:実装完了!
高速化ボタンをクリックすることで、
ボトルネックになっていた「在庫数」フィールドを隠したままの状態にすることができます!
4、まとめ
結局、隠したからどうなんだ?というところですが
この手法を使えば、毎回システムを起動する度に重い画面を表示させないといけないという
負の通過儀式から解放されます。
上の例で言えば、ファイルの起動スクリプトに $$hidden = 1 をセットしておけば
この在庫一覧画面の表示負荷をはじめからゼロにすることができ、
商品登録や検索だけがしたいユーザーにとっては、ストレスなく利用し始めることができるでしょう。
在庫数が確認したい場合は、「高速化解除ボタン」を作って、その時だけ在庫数を表示させればいいのです。
根本的な設計のマズさは、時間をかけて再構築するしかないかもしれませんが、
とにかく特定の画面表示で遅さ・重さを感じてストレス限界の方は
ぜひこの手法で犯人を特定して、隠してみてください。
きっと少しはご自身のソリューションへ優しい気持ちになれるはずです!
弊社では、高速化に関するボトルネック診断や改善サポートを行っております。
もし設計面から改善支援を受けたいという方は、ぜひご相談ください!
Commentaires