引き続きディープな内容をお届けしているデベロッパー勉強会。
毎度盛りだくさんのコンテンツを解説してますが、今回は「キャッシュサイズの話がためになった」という方が多かったようですので、この辺りをピックアップしてレポートいたします。
インフォテリア株式会社 第1研究開発部 部長 一刀 卓
みなさん、プロジェクトキャッシュってご存じですか?
そう、コンパイル済みのプロジェクト(オブジェクト)をメモリ上にキャッシュする仕組みのことですね。
実はキャッシュサイズのデフォルト値は30で、これを超えるとLRU(Least Recently Used)方式で最も長時間実行されなかったプロジェクトがキャッシュから削除されます。
キャッシュサイズを上回り、プロジェクトがキャッシュから削除されると「プロジェクトをキャッシュから削除しました」というメッセージがログファイルに出力されます。
私は2次サポート対応でお客様のログファイルを参照する機会も多いのですが、このメッセージが頻繁に出力されているログファイルをよくみかけます。
キャッシュからのプロジェクトの削除が頻繁に起きるケースでは、「プロジェクトキャッシュサイズ」を見直すか、あるいはプロジェクトごとに「キャッシュタイプ」を設定することをお勧めします。
プロジェクトキャッシュサイズはフローサービス管理コンソールで設定します。
プロジェクトのキャッシュタイプには次の4タイプがあり、フローデザイナーのインスペクタペイン上で変更できます。
コンパイル時にキャッシュ | フローの実行がリクエストされた際にコンパイルされる(キャッシュから削除される可能性あり) |
---|---|
キャッシュしない | コンパイルしてもキャッシュされない |
起動時にキャッシュ | フローサービスの起動時にコンパイルしてキャッシュする(キャッシュから削除される可能性あり) |
常にキャッシュ | フローサービスの起動時にコンパイルしてキャッシュする(キャッシュから削除されることがない) |
リアルタイム処理のプロジェクトなどについて「常にキャッシュ」とすればキャッシュから削除されることがなくなり、レスポンスを改善することができます。一方で「常にキャッシュ」と設定したプロジェクトが多いと、それ以外のプロジェクトが頻繁に削除される可能性が高くなります。
当日は上記以外にもxfp2ファイルやトリガーマネージャなどについて解説が行われました。
当日のプレゼン資料はASTERIA Warp Developer Network Slackに掲載しています。
ASTERIA Warp Developer Network Slack招待リンクはこちら
参加者からは次のようなコメントをいただきました。
デベロッパー勉強会はデベロッパー仲間をつくる絶好の機会でもあります。ひとりで開発するよりも相談しあえる仲間が外部にいることのメリットは計りしれません。
出はいり自由な気さくな交流会ですので、ぜひデベロッパー勉強会参加時には第二部の情報交流会にも顔出しいただきたくお越しをお待ちしています!
“ASTERIA Warpユーザーの皆様をもっとハッピーに!”をモットーに日々AUGを運営しています。
Related Posts
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。