Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

l9_nc

.pdf
Скачиваний:
12
Добавлен:
19.04.2015
Размер:
707.81 Кб
Скачать

Пример 1

Обследуй

У нас нет мониторинга

Есть проблема, но нет старых данных

Построй гипотезу

Если бы у нас был мониторинг, мы бы могли разобраться в проблеме

Улучши

Внедрить систему мониторинга

Возьмём Hyperic HQ (или любой другой)

© 2013 NetCracker Technology Corporation Confidential

11

Пример 1

Проверь

Запусти тесты снова

Обследуй

Мониторинг показал, что один из серверов работает медленнее

Обрабатывает меньше запросов в секунду

У транзакций повысились тайм-ауты

Выше нагрузка на CPU

Упал сетевой трафик

Улучши

Промониторить медленный сервер

Проверить лог-файлы

Сколько потоков работает? Сделать дамп потоков.

© 2013 NetCracker Technology Corporation Confidential

12

Пример 1

Построй гипотезу

Дамп потоков показывает множество потоков, которые ожидают когда освободится для записи файл журнала

Файл журнала содержит сообщения уровня отладки

(А на других серверах такого нет)

Спец говорит: “Конфигурации идентичны, все автоматом создается Maven”

(Не верь никому)

Проверь

Заглянуть на сервер и вручную проверь конфигурацию сервера

© 2013 NetCracker Technology Corporation Confidential

13

Пример 1

Решение

На одном из рабочих серверов было включено журналирование в режиме отладки

Когда отключили журналирование - скорость вернулась к старым показателям

© 2013 NetCracker Technology Corporation Confidential

14

Hyperic HQ

© 2013 NetCracker Technology Corporation Confidential

15

Hyperic HQ

Это средство для мониторинга

Но не средство для профилирования

Статистические данные

Тренды

Отклонение в поведении

‘Горячие’ точки

Собирает данные о

JVM

JMX (Java Management eXtensions, http://www.nestor.minsk.by/sr/2005/08/sr50808.html)

OS

http://www.opennet.ru/base/net/hyperic_hq_mon.txt.html

© 2013 NetCracker Technology Corporation Confidential

16

Альтернатива JVusualVM

© 2013 NetCracker Technology Corporation Confidential

17

Дамп потоков (Thread Dumps)

Инструмент №2 при диагностике проблем с производительностью

CTRL-BREAK в windows

Kill -3 в Unix/Linux

Jstack

Нам вернется информация, что делают все потоки внутри виртуальной машине в данный момент

© 2013 NetCracker Technology Corporation Confidential

18

Дамп потоков (Thread Dumps)

Несколько дампов в течении длительного промежутка времени дает хорошее представление о том, что творится внутри приложения

Большинство операций, которые занимают много времени проявятся

Мы увидим, на что похоже «нормальное» состояние сервера

© 2013 NetCracker Technology Corporation Confidential

19

Дамп потоков (Thread Dumps)

Куда смотреть:

Вершина стека

Ваш код в стеке

Длинные (глубокие) стеки

Блокировки (deadlocks) и другие проблемы с потоками

© 2013 NetCracker Technology Corporation Confidential

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]