2

初めてモジュールを呼び出すと、xquery時間がかかります。xqueryモジュールが解析され、モジュールキャッシュに存在するため、後続の呼び出し呼び出しが高速になる場合があります。

次のシナリオを検討してください:-

HTTP Server1- xdmp:invoke('/a/sample.xqy')   
HTTP Server2 - xdmp:invoke('/a/sample.xqy') 

両方のアプリ サーバーが同じモジュール DB を指しています。

質問:-

  1. 後続の呼び出し呼び出しが高速なのはなぜですか?

  2. ただし、差分アプリ サーバーで同じモジュールを呼び出すと、呼び出しが遅くなります。キャッシュの目的で、この xquery モジュールは、アプリサーバーに基づく別のオブジェクトと見なされますか?

  3. MarkLogic はモジュールキャッシュから移動するエントリをどのように決定しますか?

  4. 呼び出し後、MarkLogic がモジュールをキャッシュに保持する期間はどれくらいxdmp:invokeですか?

  5. モジュールのキャッシュ サイズを増やすための ML 構成はありますか?

4

3 に答える 3

3
  1. キャッシング - しかし、あなたはそれを知っていると思いますか?
  2. ことを証明したようですね。それは理にかなっています: 異なるアプリサーバーは、評価に影響を与える可能性のある異なる構成を持つ可能性があります: たとえば、名前空間とスキーマ、および場合によっては出力オプションです。そのため、app-server id をキャッシュ キーに組み込む方がおそらく簡単です。
  3. LRUキャッシュだと思います。大きさはわかりません。
  4. スペースがなくなるか、更新によってキャッシュ エントリが無効になるまで。
  5. 私が知る限りではありません。
于 2012-06-18T22:32:35.953 に答える
0

クエリはデータベース内のデータに触れていますか? その場合、まったく同じクエリへの後続の呼び出しは、2 番目の呼び出しで E ノードの拡張ツリー キャッシュにアクセスできます。

2 番目の呼び出しはどのくらい高速ですか? 前回測定したとき、ほとんどの I/O ソリューションのシーク時間と比較して、クエリ評価時間の差はわずかでした。

于 2012-06-19T00:13:17.443 に答える
0

1. キャッシング:- 3 種類のキャッシュがあります - 拡張ツリー、圧縮ツリー、リスト。MLドキュメントはそれを非常にうまく説明しています。

2. 2 番目のアプリ サーバーが同じグループにある場合、理想的にはそれ以上の時間はかかりません。それが別のグループにある場合は、時間がかかります。キャッシュはグループ レベルで行われるためです。

3.最近使用されたものは展開されたツリー キャッシュに格納され、最近使用されていないものはリスト キャッシュに格納されます。最近使用されていないものは、キャッシュからフラッシュされます。

4.ポイント 3 を参照

5.はい、[管理] --> [グループ] --> [グループを選択] ---> [構成] タブに移動します。

于 2015-03-23T12:20:36.513 に答える