2016-07-19 3 views
0

私は、キーストアを使用して暗号化キーを格納および取得しています。しかし、キーストアのサイズがキーストアのオペレーションよりも大きくなると、動作が遅くなります。Java Keystore.getKey()が遅いキーストアサイズが増加する

私はLinuxプラットフォーム、JavaバージョンJdk_1.8で作業しています。プロバイダとしてのセーフネット。

+0

パフォーマンスが問題になるときの店舗の規模は?この情報を回答ではなく質問に追加してください。 – zaph

+1

これは@Nirav Shahの質問に関連していますか?その場合は、質問の1つを調整して削除してください。 http://stackoverflow.com/q/38456568/451475 – zaph

+0

の重複しています。私の質問はキーストアの制限に関係しています。ありがとうZaph –

答えて

1

私は実行速度に関連する同じ問題に直面しているが、異なるオペレーティングシステムプラットフォームによって異なります。

Jvmはキーストアをメモリにロードします。そして内部ストレージとしてのハッシュテーブルコレクションを持っています。

ハッシュテーブルが同期されています。

キーストアからget操作を実行するたびに、物理キーストアからではなくメモリ内キーストアから取得されるよりも、get操作を実行するたびに LinuxベースのOSで( "top" - %wa section)コマンドを使用して確認できます。

キーストアはハッシュテーブルを使用しており、パフォーマンスの低下の根本原因です。

私はプロジェクトを初期化している間にキーストアのすべてのキーをConcurrentHashMapにロードすることでこの問題を解決しました。後で、 すべての読み取り操作は、キーストアの代わりにMAPから実行されます。 そして、すべての書き込み操作がキーストアとMAPの両方で実行されることを確認してください。

+0

はい私と一緒に働いています。私はデータを読み取るためにマップを使用し、それは私のために働く..しかし、なぜjavaキーストアはhastableを使用するのですか? –

0

私がsafenet jarファイルをキーストアプロバイダとして使用していて、プロバイダとしてsafenetを削除したときに&のデフォルトプロバイダを使用した場合、パフォーマンスに関連する問題に直面しませんでした。

関連する問題