Настройка веб-сервиса - PullRequest
       3

Настройка веб-сервиса

0 голосов
/ 21 декабря 2010

У меня есть веб-сервис, созданный с помощью CXF.В моем сервисе я запускаю приложение, которое занимает очень много времени.

Мое приложение выполняется около 30 минут, но внутри веб-службы это занимает около 1 1/2 часа.

Могу ли я что-то сделать, чтобы мой сервис стал быстрее?

Ответы [ 3 ]

0 голосов
/ 21 декабря 2010

Я бы взглянул на приложение с jvisualvm в Sun JDK.

Я предполагаю, что у вас слишком мало памяти в контейнере веб-службы и что все время тратится на сбор мусора.

0 голосов
/ 21 декабря 2010

Здесь действительно недостаточно информации для решения проблемы, вам нужно выяснить, что происходит, используя какой-то механизм трассировки / профилирования.Это может быть проблема с памятью.Я не знаю, как вы на самом деле запускаете приложение, но может случиться так, что ему будет назначен поток с очень низким приоритетом по сравнению с потоком с более высоким (более высоким) приоритетом при запуске JUnit.Сам веб-сервис будет работать долго до того, как пройдет полчаса, не говоря уже о 1,5 часах, поэтому вы используете службу ASync или запускаете свой собственный поток и / или процесс из службы?Если это отдельный процесс, сколько памяти выделяется для этого?

После того, как вы собрали эту информацию, вы, вероятно, уже на пути к получению своего ответа.

YMMV

0 голосов
/ 21 декабря 2010

Нет веских причин для такой разницы (если вы делаете ту же работу). Вам нужно будет разобраться, что отличается в окружающей среде или используемых вами входных параметрах.

Попробуйте включить -Xverbose:gc, возможно, у вас почти исчерпана куча контейнера сервлета, а JVM всю свою жизнь запускает сборщик мусора много раз.

Обратите внимание, что вы также можете увидеть, используя jvisualvm, который поставляется с JDK бесплатно.

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