2014-05-30 4 views
4

У нас есть сервер загрузки трикотажа, в котором используется HTTP-сервер grizzly (GrizzlyHttpServerFactory). Недавно мы перешли из java7 в java8. С тех пор после обслуживания запросов плавно в течение 1 часа или около того,
- загрузка процессора нашей машиной идет на 100% (обычно это 5%, с очень разреженными пиками 40%)
- все HTTP-запросы на сервер зависают ,
- В журналах сервера отсутствуют исключения.
- Темы, начатые сервером, продолжают выполнять свою работу и не затрагиваются.
- По-видимому, только интерфейс http кажется сломанным.
После перезапуска сервера поведение исчезает, но появляется через час.
Загрузка процессора достигает 100% слишком часто на сервере grizzly http (REST) ​​- JAVA8

Когда мы перенесли обратно в java7, сервер вел себя хорошо и никаких проблем. Теперь мы перешли на java7. Но так как мы хотели бы перейти к java8 в какой-то момент в будущем,
- Кто-нибудь видел, как это происходит в их?
- Есть ли способ отладить эту ошибку и получить дополнительную информацию об отладке на уровне сервера гризли?
(есть ли какие-либо флаги командной строки для команды java -jar our_application_jar.jar, которая может захватывать дополнительную информацию об отладке)
- Может ли кто-нибудь объяснить причину, почему наш гризли ведет себя странно с помощью java8?
- Можем ли мы подозревать, что библиотека NIO JDK 1.8 испорчена гризли, но как мы можем это сделать?

Нашей машины/развертывание детали
- убунт, AWS m1 большого
- Java приложения, работать в качестве службы Unix
- гризли 2.8 (с использованием гризли сервера HTTP)

+3

Я бы сказал, что это звучит как проблема с сборщиком мусора (GC). Вы пробовали профилировать приложение? Собирать дополнительные данные? – pintxo

+0

Я испытал такую ​​же проблему, проблема была бесконечной петлей. – dounyy

+0

@pintxo: спасибо за ваш быстрый ответ, мы попробовали запустить банку с опцией; java -Xmx2G -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -Xloggc: gc.log -XX: -UseGCOverheadLimit -jar app.jar. Не могли бы вы объяснить профилирование приложения, и мы не нашли никакой полезной информации. – bps

ответ

0

Вам нужно использовать JProfiler. Это поможет вам определить любые проблемы с производительностью и/или ресурсами, которые могут иметь ваше программное обеспечение. Это бесплатно в течение ограниченного времени (должно быть достаточно для отладки вашего программного обеспечения)

+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). – GenericJon

+0

Я думал, что это будет хороший ответ на вопрос «Есть ли способ отладить эту ошибку и получить больше информации об отладке на уровне сервера гризли?». – user3811473