2017-03-17 7 views
0

redisの代わりにchronicle-mapを使用する予定です。アプリケーションのシナリオは、データベースから毎日開始され、数億マップ、および数十のJVMはクロニクルマップレコードを読み続ける。各jvmには数百のスレッドがあります。しかしおそらく、クロニクルマップの理解の欠如のために、コードのパフォーマンスが悪く、メモリがオーバーフローするまで遅く実行されます。私は上記の練習がクロニクルマップの正しい使用であるかどうか疑問に思います。データキャッシュとしてredisの代わりにchronicle-mapを使用する方法

+0

質問にはさらに詳細が必要です。キーと値の種類地図のサイズ?マップではどのような操作が呼び出されますか?彼らはどのように作られていますか?作業コードスニペット(おそらく偽のクラス名/データ)? – leventov

答えて

0

クロニクルマップにはデータオフヒープが格納されているため、メインメモリで保持できるデータよりも多くのデータを格納できますが、すべてのデータがメモリに収まる場合はパフォーマンスが向上します(可能な場合は、 、これが不可能な場合はSSDドライブを使用するようにしてください)、パフォーマンスが低下するもう一つの理由は、クロニクルマップビルダーでマップのサイズを変更したかどうかです。たとえば、最大エントリ数を設定した場合大きくするとパフォーマンスが向上します。

関連する問題