テストのデータ キャッシング

Silk Central では、テスト でのキャッシングを利用して、フロントエンド サーバーのスケーラビリティの向上と、複数のユーザーが同じプロジェクトで同時に作業する際のデータベース負荷の削減を図っています。テスト ツリーとテスト フィルタは、フロントエンド サーバーとデータベース サーバーにかなりの負荷を与えます。特定のプロジェクトに対する テスト ツリーとフィルタの情報は、複数のユーザーの間で共有されるので、この領域はキャッシングに非常に適しています。

テスト ツリーのキャッシング

テスト ツリーのキャッシュは、メモリで現在使用中のプロジェクトのすべてのツリー情報を保持します。また、定期的にデータベースをチェックし、ツリーに変更がないかどうかを確認します。管理者は、TMFrontendBootConf.xml 設定ファイルの Cache/TestPlanTree/CheckForChangesInterval を設定することによって、キャッシュの動作を変更できます。これは、ツリー情報が古いままになっている期間の最大値(秒)を表します。この設定に関係なく、同じフロントエンド サーバー上のテスト、フォルダ、またはコンテナに変更が生じた場合は、直ちにキャッシュに変更が反映されます。Cache/TestPlanTree/CheckForChangesInterval の設定は、別のフロントエンド サーバー上で変更が生じた場合にのみ関係します。プロジェクトが 1 時間より長い時間ユーザーに使われてない場合は、そのプロジェクト ツリーのキャッシュ全体がクリアされます。そのプロジェクトは、次回ユーザーがそのプロジェクトにアクセスしたときに再ロードされます。

テスト フィルタのキャッシング

フィルタのキャッシングを利用すると、特定のフィルタ基準に一致するテストの ID が、指定した期間 (キャッシュの最小時間設定に基づく) または各フィルタの実行時間だけキャッシュされます。管理者は、TMFrontendBootConf.xml 設定ファイルの Cache/FilterCache/ の 2 つのプロパティを設定することによって、この動作を変更できます。

第 1 のプロパティ MinimalLifeTime は、フィルタ結果がキャッシュから削除されるまでの最小時間(秒)を定義します。第 2 のプロパティ LifeTimeMultiplier は、この最小時間の設定がフィルタのクエリの実行時間に依存するようにします。たとえば、係数を > 0 に設定すると、フィルタ結果がキャッシュに保持される最大時間は MinimalLifeTime、またはクエリの実行時間を LifeTimeMultiplier 倍した値になります。したがって、フィルタのクエリの実行時間が 1 秒の場合、MinimalLifeTimeLifeTimeMultiplier にデフォルト値(共に 30)を使用すると、フィルタ結果は 30 秒間キャッシュされます。フィルタのクエリの実行時間が 30 秒の場合は、フィルタ結果は、やはり 30 秒間キャッシュされます。一方、フィルタのクエリの実行時間が 2 秒の場合は、フィルタ結果は 60 秒間キャッシュされます。

レコメンド エンジンのキャッシング

キーワード駆動テスト エディター でキーワード駆動テストにキーワードを追加するとき、Silk Central は、そのテストの次のキーワードとして使用する可能性のある既存のキーワードを推薦します。推薦するキーワードはキーワード リストの上位にリストされ、Silk Central がどの程度そのキーワードを推薦しているかが、棒グラフの塗りつぶした長さによって示されます。

管理者は、TMFrontendBootConf.xml 設定ファイルの RecommendationCache/ExpireAfterWrite プロパティを設定することによって、レコメンド キャッシュの更新間隔を変更できます。

キャッシュに関する JMX 測定

Silk Central では、基盤となる Java プロセスを監視するための JMX 読み取り測定、およびその他のプロセス固有の測定を提供しています。テスト ツリーのキャッシュおよびテスト フィルタのキャッシュについての JMX 情報は、borland.com/Frontend/TM の JMX measures (JMX 測定) ツリーにあります。

注: Silk Performance Explorer やその他のツールを使用して、これらの測定を追跡することができます。