Подтвердить что ты не робот

Снижение производительности после перехода на джерси 2

Мы работаем на сервере, используя spring 4, встроенный причал 9 и трикотаж. Недавно мы перешли на джерси 2.13, и мы заметили ухудшение производительности. Я провел несколько исследований с использованием YourKit. Я видел, что в отражении, сделанном трикотажем, наблюдается массовое использование ЦП. Кроме того, в снимке Yourkit есть много NoSuchMethodExceptions и ClassNotFoundExceptions.

enter image description here

Есть ли какая-либо конфигурация Джерси или лучшая практика, чтобы избежать этой проблемы или оптимизировать трикотаж? Или, может быть, это известная проблема в джерси 2?

Вот два скриншота из YourKit, показывающие горячие точки, после исключения чтения сокета (java.net.SocketInputStream.socketRead0). Первый - с объединенными калами:

enter image description here

И второй - с Back Trace:

enter image description here

Спасибо.

4b9b3361

Ответ 1

Рассмотрев ваш вопрос, я не могу точно указать точную проблему. Но я могу предложить вам проверить следующие вещи:

  • Проверьте, есть ли в вашей окончательной сборке дубликаты библиотек/банок с разными версиями.
  • Проверьте, были ли вы рекомендованы Spring/тривиальная транзитная зависимость/версии jar в вашей окончательной сборке

Если вы используете maven для создания своего проекта, я предлагаю использовать плагин дерева зависимостей maven для проверки вышеупомянутых точек.

- Chiru