2016-04-28 1 views
1

Spring Data JPA + HibernateでJaversを使用しています。 CurdRepository.save(Collection)を使用すると、Javers APIはコレクション内の各オブジェクトを1つずつ監査し、全体的な挿入プロセスの遅延を引き起こします。私はデータを挿入する際にJaversのパフォーマンスに問題があります

Javersを統合する前に、プロセスは100行を処理するのに30秒かかり、Javersを統合した後では80秒かかりました。

これは正常な動作ですか?

答えて

0

Javersは、コミットしている各オブジェクトと、JaversRepositoryで保持されている最後のスナップショットを比較します。ラージオブジェクトグラフの場合、時間がかかることがあります。

+0

DB操作ごとのパフォーマンスの問題が非常に高いことに気付きました.Javersなしでは2ミリ秒、ジャバーズでは10093ミリ秒でした。差分や履歴を生成しながら、比較演算を別のAPIにスキップする方法はありますか? – pradip

+0

別個のAPIとはどういう意味ですか? –

+0

監査中に、DIFFを実行せずにスナップショットを保存して、現在のトランザクション外で別の操作として差分を実行できるだけですか?私が前のコメントで述べたように、時間は非常に長く、それを減らす方法を理解しようとしています。 – pradip

0

トランザクション(JaVersなし)で100行を挿入するのに30秒かかる場合は、インフラストラクチャのパフォーマンスに問題がある可能性があります。うまくチューニングされたデータベースでは、挿入スループットはミリ秒単位で測定され、数百ミリ秒単位ではありません。