2012-01-18 13 views
1

Java EEプロジェクトで誰かが@Asynchronousを使用していたかどうか不思議でしたか?EJB 3.1 @Asynchronous really slow

EJB内の非同期メソッドの呼び出しを、同じコードで「同期」メソッドと比較しました。非同期は10分かかりますが、「同期」メソッドは23秒かかります!!

asyncメソッドは未来を返します。

このような巨大なパフォーマンスボトルネックを経験しましたか?

答えて

0

いいえ、経験はありません。私たちは@Asynchronousメソッドを大量に使用しています。そのようなメソッド内のコードの実行時間は、同期呼び出しと同じです。

@Asynchronousは独自のトランザクションで実行されるため、何らかの影響を受ける可能性があります。これはまた、永続コンテキストが使用された場合、そのようなメソッドに伝播せず、ロード前にl1キャッシュがどれほど熱いかによって、バックエンドに追加のクエリをたくさん行うことを意味します。

また、コールを開始してからFutureが結果を返すまで、またはメソッド自体の中から10分を測定しますか?

関連する問題