0

アプリケーションでは Infinispan ホットロッドを使用しています。場合によっては、キャッシュからの取得に時間がかかることがあります。これは常に発生しているわけではありません。ほとんどの場合、6 ミリ秒かかりますが、非常に長い時間 (200 ミリ秒) かかることもあります。

キャッシュから取得したオブジェクトのサイズは約 200 バイトです。

infinispn 5.2.1 と JDG 6.3.2 の両方でテストしました

誰もこの問題に直面しましたか?

ありがとう

生活

4

1 に答える 1

2

Java を実行していることを思い出してください。これは、ガベージ コレクターがいつでも起動できることを意味し、運が良ければ 200 ミリ秒、そうでない場合は数秒、ヒープが大きくない場合は最大数分かかることを意味します。よく調整された GC 設定。

分散キャッシュからの取得には別のノードへの RPC が必要であり、そこで RPC を処理する必要があるため、スレッド スケジューリングも重要な役割を果たします。ビジー状態のシステムでは、スレッドが待機していても不思議ではありません。

Infinispan の観点からは、取得を待つ必要はありません。リクエストは RPC to remote モードに変換され、そこでメッセージを受信したのと同じスレッドによって処理されます。リクエストはロックを待ちません。

JGroups では、遅延が発生する場合があります。負荷を処理できない場合、メッセージはネットワーク上で失われたり、受信者で破棄されたりする可能性があり、その後再送信されます。また、UFC プロトコルにより、受信側の速度が送信側の速度と一致することが保証されます。

非リアルタイム Java の上に構築されたものはすべてベスト エフォートで動作し、時にはひどいことが起こります。200 ミリ秒は、依然として良好な応答時間です。

于 2015-01-30T11:32:49.957 に答える