l9_nc
.pdfТехническая поддержка программных решений 9/10 Проблемы на примере реальных приложений
Кузиков Б.О., СумГУ, 2014
© 2013 NetCracker Technology Corporation Confidential
План лекции
• Комплексный подход к диагностике проблем с производительностью
© 2013 NetCracker Technology Corporation Confidential |
2 |
Философия скорости
•‘Хорошее понимание’ лучшее средство для анализа производительности
•Выбирайте открытые и распространённые инструменты
•Осмотрись→ построй гипотезу → улучши → проверь
•‘Никому не верь’
© 2013 NetCracker Technology Corporation Confidential |
3 |
Источники проблем для Java
•Код «грузящий» CPU
•Код «грузящий» IO
•Код «грузящий» Память
•Утечки памяти
•Увеличивают время GC
•Ошибки конфигурирования GC или выделения памяти для JVM
•Увеличивают время GC
© 2013 NetCracker Technology Corporation Confidential |
4 |
Производительность в Enterprise Java
•80/20: 80% времени чтобы найти, 20% чтобы исправить
•Много проблем с производительностью ‘Enterprise’ Java не связаны с ‘классическими’ «бутылочными горлышками» для Java
•Производительность Инфраструктуры/Промежуточного слоя
•Много факторов могут повлиять на производительность enterprise – приложений
•(не только код)
•Основные источники с производительностью:
•Проблемы с много-поточностью
•‘Недостаточное конфигурирование’
•Проблемы связанные с сетью
•Проблемы с масштабированием
© 2013 NetCracker Technology Corporation Confidential |
5 |
Правильный подход
•Понимание системы
•Понимание окружения
•Понимание обстановки
•Поговорите с теми, кто знает
•Но не верьте никому
•Осмотрись, построй гипотезу, улучши, проверь
•Переосмысли и повтори
© 2013 NetCracker Technology Corporation Confidential |
6 |
Хорошее понимание
•Понимание системы в целом
•Знайте, как работает инфраструктура
• (не только что делают компоненты, но и как они это делают)
•Что спецификации Java EE говорят, как они должны работать?
© 2013 NetCracker Technology Corporation Confidential |
7 |
Пример 1
© 2013 NetCracker Technology Corporation Confidential |
8 |
Пример 1
•Звонит клиент:
•“Мы выкатили новую версию приложения, но оно стало тормознутее”
•Окружение:
•Sun Java 5
•WebLogic Server 9.2 Cluster (3 nodes)
•WebLogic Integration 9.2 Cluster (3 nodes)
•Documentum Document Management
•Oracle Database
•Solaris OS
© 2013 NetCracker Technology Corporation Confidential |
9 |
Пример 1
•Система
•Web-приложение
•WebLogic-workflow
•Ситуация
•Новая версия установлена в окружения для тестирование производительности
•Автоматические тесты производительности зафиксировали падение скорости на 30%
© 2013 NetCracker Technology Corporation Confidential |
10 |