Java: измерение производительности приложения путем его обновления до веб-службы - PullRequest
2 голосов
/ 07 июня 2011

У меня есть приложение, которое ведет себя как сервер. У меня есть некоторые потребители (другое приложение), которые отправляют задачи в «серверное» приложение и получают что-то в результате. Приложение реализовано на Java как консольное приложение. Проблема в том, что мне нужно измерить производительность приложения (процессор, память, пропускная способность, если это возможно, и все, что я мог получить). Если я сохраню свой «сервер» в качестве консольного приложения, у меня возникнет проблема измерения уровня приложения, которая может быть чрезвычайно сложной. Моя идея состояла в том, чтобы «обновить» консольное приложение до веб-службы, то есть создать какую-то оболочку, чтобы можно было называть «сервер» веб-приложением. Я полагаю, что часть мониторинга была бы намного проще.

Я бы хотел услышать ваши мысли об этом. Это хорошая идея? Могу ли я получить лучшие результаты, если я обновлю его до веб-службы? И как мне вообще это сделать? На данный момент я просто хочу получить некоторые результаты, код может быть грязным. Изначально приложение представлялось в виде веб-службы (или чего-то подобного), консольное приложение - это просто симуляция, поэтому создание веб-службы вместо консольного приложения - не страшная вещь.

Ответы [ 2 ]

3 голосов
/ 07 июня 2011

Возможно, вы можете использовать протокол JMX и JConsole для подключения к вашему приложению. С JConsole вы будете иметь подробную информацию об использовании памяти, использовании процессора, потоках и т. Д. Он также позволит вам управлять вашим приложением на лету с помощью MBean.

Взгляните на: http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

0 голосов
/ 07 июня 2011

Да, это хорошая идея, чтобы сделать ваше приложение веб-сервисом.Это сделает ваше приложение безопасным и масштабируемым из коробки.

Вы можете сами выбрать, какой веб-сервис вы хотите применить.Я бы посоветовал вам перейти на веб-сервис RestFul (JAX-RS).И вы можете использовать sl4j для регистрации всей информации об использовании mem и cpu.

...