Как найти CPU, IO, использование памяти загрузочной страницы в веб-приложении - PullRequest
3 голосов
/ 03 февраля 2010

Я написал файл Java, используя Jsp, сервлеты, для которых я хотел бы выполнить тесты во время выполнения.Я никогда не делал этого раньше, и мне было просто интересно, как это сделать.

Что мне интересно знать, помимо фактического времени, так это узнать, как использовать процессор, память и io при запуске приложения. Ваши мысли приветствуются.

Ответы [ 3 ]

1 голос
/ 03 февраля 2010

Обычно вы измеряете их не из приложения, а из-за запуска другого инструмента на том же хосте.

Если вы просто хотите увидеть влияние на операционную систему хоста, вы можете использовать программу типа top (на * nix box) или старый добрый диспетчер задач в Windows, чтобы увидеть загрузку процессора / памяти / ввода-вывода вашего Java-процесса (обычно контейнер сервлетов, такой как Tomcat).

Если вам нужна более подробная информация о самом процессе Java, вы можете подключить JConsole или jvisualvm , чтобы получить информацию о ВМ (включая память и ЦП) для самого процесса. (В Java 6 вы должны иметь возможность делать это с локального компьютера без передачи каких-либо параметров процессу Java при запуске; для Java 5 или удаленных подключений вам нужно будет передать аргументы командной строки процессу Java, чтобы (удаленные) соединения JMX.)

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

0 голосов
/ 03 февраля 2010

Стандартный способ мониторинга запущенных приложений Java в эти дни - это sing JMX через JConcole

Если вы используете коммерческий сервер приложений, такой как Weblogic или WebSphere, они имеют настраиваемые и мощные консоли управления, которые предоставляют необходимую информацию для мониторинга. В основе этих консолей по-прежнему лежит технология JMX, поэтому их также можно отслеживать и управлять с помощью стандартной JConsole. В этой статье показано, как это сделать для Weblogic .

0 голосов
/ 03 февраля 2010

Я полагаю, вам нужна эта информация на стороне клиента (в браузере). Так что это не вопрос на основе Java.

Если так, вот мой ответ: Я предпочитаю использовать расширения FireBug и ySlow. Они дают информацию о производительности, памяти и многое другое.

Я комбинирую его с использованием обычного диспетчера задач для просмотра дополнительной информации о браузере.

BR

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