EJB 3.1 @ Асинхронный очень медленно - PullRequest
1 голос
/ 18 января 2012

Мне было любопытно узнать, использовал ли кто-нибудь @Asynchronous в своих проектах Java EE?

Я сравнил вызов асинхронного метода в EJB с тем же кодом, но из метода «синхронизации». Асинхронизация занимает 10 минут, тогда как метод «синхронизации» занимает 23 секунды !!

Асинхронный метод возвращает будущее.

Испытывали ли вы такого рода узкие места производительности?

1 Ответ

0 голосов
/ 21 января 2012

Нет, никогда не испытывал это.Мы используем тонны @Asynchronous методов, и время выполнения кода внутри такого метода равно синхронному вызову.

Следует помнить, что @Asynchronous выполняется в своей собственной транзакции, так что, возможно, вы как-топострадавших от этого.Это также означает, что постоянный контекст, если вы его используете, не будет распространяться на такой метод, и в зависимости от того, насколько горячим является ваш кэш l1 до нагрузки, которую вы могли бы выполнять для дополнительных запросов.Ваш бэкэнд.

Кроме того, измеряются ли 10 минут с момента, когда вы начинаете свой вызов, до того, как Future вернет результат, или из самого метода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...