開発Blog

intra-mart Advent Calendar 2013 第19日:iAPでキャッシュしている所は何処だ!?

投稿日:

この記事は、intra-mart Advent Calendar 2013 第19日の記事です。

AdventCalendarの新機軸!?=我がチーム担当機能の宣伝の一環「認可機構(im-authz)の紹介シリーズ」は、ここぞとばかり まだまだ続きますよー。(聞こえてますかー、北陸の貴方〜)

今回は、パフォーマンス向上に欠かせないキャッシュについて。
どこでどのような情報がキャッシュされているのかをご紹介いたします。

intra-mart Accel Platformでは、新たに搭載された認可機構(im-authz)によりきめ細かなアクセス制御が可能になりました。
im-authz は、画面やデータ、各サービスにおける権限チェックを統括して行うため、あらゆる機能から使用される機能です。
しかし、認可の判断結果が確定するまでには多くの処理があり、各処理においてファイルやデータベースへのアクセスが発生します。

例えば、intra-mart Accel Platform にログインした後に表示されるグローバルナビや、各機能へのリンクを表示するサイトマップでは、アクセス権限のあるリンクのみを表示しているため、各リンクごとに認可の判断処理が行われます。

ここでは、メニューを例として、認可が行われるまでの処理の流れを紹介します。

intra-mart Accel Platformでは、アクセス制御の判断を高速化するために、大きく以下の4つについてキャッシュしています。

  1. ルーティング設定のキャッシュ

    • メニューアイテムに登録されている「URL+引数」を「リソースURI」「アクション」に変換するマッピングをキャッシュします。
  2. リソースグループ設定のキャッシュ

    • 「リソースURI」を「認可リソースグループ」に変換するマッピングをキャッシュします。
  3. リソース閉塞状態のキャッシュ

    • 「認可リソースグループ」1件あたりの閉塞状態をキャッシュします。
  4. ポリシー設定のキャッシュ

    • 「認可リソースグループ」「認可サブジェクトグループ」「アクション」から取得した「ポリシー」の状態をキャッシュします。

このようにして、intra-mart Accel Platformでは、各処理のうちデータの更新頻度が低く、参照頻度が高いものについて、キャッシュを利用して高速化しています。

認可に関するキャッシュの詳細は、認可仕様書 の 認可のキャッシュ設定 をご参照ください。

なお、上述の2, 4 は、intra-mart Accel Platform をインストールした直後の状態では、画面・処理 (service) のリソースタイプのみキャッシュが行われます。他のリソースタイプでキャッシュを行う場合は、別途設定が必要です。
リソースタイプごとのキャッシュ設定については、「設定ファイルリファレンス」の「 リソースタイプ拡張設定 」および「 認可ポリシーキャッシュ対象設定 」を参照してください。

その他、 intra-mart Accel Platform上でのキャッシュに関する情報は以下をご参照ください。

これら資料には、キャッシュするオブジェクトの単位 や キャッシュサイズを見積もるための計算式も記載しております。
実際に運用されるシステムのデータ容量やアクセス頻度・傾向を元に、適切なサイジングを行っていただければと思います。

-開発Blog

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

SQL Server利用時の実行速度向上策について

SQLServerのJDBCドライバのパラメータ設定方法です。 このパラメータを設定すると、SQLServer利用時のJDBCプログラミングAPIであるjava.sql.PreparedStateme …

intra-mart Developer Site

Developer Siteのデザインを一部変更しました。

日頃より、intra-mart Developer Siteをご利用いただき、誠にありがとうございます。 ホームページのデザインを一部リニューアルをいたしました。 主な変更点は下記の通りです。 画面上 …

no image

プロダクトを成長させる生成系 AI のユースケースを考えるワークショップ実施レポート

こんにちは、開発本部 チーフテクニカルリードの榎本です。 先日開催しました「intra-mart Live 2023」はご参加頂けましたでしょうか?基調講演では、intra-mart Accel Pl …

no image

トラブル時の現状把握に必要な情報

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。 最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 大規模システムが増加するに従い、弊 …

no image

intra-martとリッチクライアントツールCurlの連携について

  ※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。   intr …