Назад | Перейти на главную страницу

Какова хорошая стратегия для диагностики сервера приложений Java, который не отвечает?

У меня есть установка OpenSSO, работающая на Glassfish. Все в значительной степени стандартно с минимальной настройкой, чтобы система работала. Я начал сталкиваться с проблемами, когда сервер перестает отвечать. Он будет принимать запросы, но зависать от ответов. Примерно через двадцать минут все запросы выполняются молниеносно, и все возвращается в нормальное состояние. К сожалению, журналы не показывают ничего необычного, что могло бы вызвать это.

Я ищу общую стратегию. Как бы вы подошли к диагностике и решению подобных проблем на серверах приложений Java?

Спасибо!

Вот несколько общих советов по диагностике проблем с Java.

  • Последние JDK поставляются с VisualVM. Вы можете прикрепить его к работающему экземпляру JVM, чтобы отслеживать использование потоков и памяти.
  • Если вы работаете в Linux, вы можете использовать kill -3 для получения дампа потока и поиска тупиковых ситуаций, используя Анализатор дампа потоков
  • Посмотрите, какую информацию Glassfish может предоставлять через JMX. Затем вы можете использовать JConsole для подключения к процессу и просмотра информации JMX во время выполнения.
  • Вы упомянули, что журналы ничего не показывают. Если это повторяющаяся проблема, возможно, вам следует увеличить уровень журнала.

Я слышал хорошее о Стеклянный ящик, и есть презентация об использовании Glassbox с Glassfish плюс другие варианты.