41
Ярослав Киселев Руководитель практики оптимизации производительности ИТ-систем КАК ПОВЫСИТЬ ПРОИЗВОДИТЕЛЬНОСТЬ IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: ЛАЙФХАКИ И УСПЕШНЫЕ КЕЙСЫ

IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Ярослав Киселев

Руководитель практики оптимизации

производительности ИТ-систем

КАК ПОВЫСИТЬ

ПРОИЗВОДИТЕЛЬНОСТЬ

IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ

В ЖЕЛЕЗО:

ЛАЙФХАКИ И УСПЕШНЫЕ КЕЙСЫ

Page 2: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

на рынке

системной

интеграции

России

российских

компаний-

разработчиков

заказных

приложений

лидеров

российского

рынка ИТ-

услуг

9 центров разработки ПО

От Москвы

до Иркутска

Более 5 лет практики в области

оптимизации и внедрения систем

мониторинга производительности

ИТ-приложений

Широкий спектр

поддерживаемых

технологий и внедряемых

систем

Мультиотраслевая

практика – от банков

до промышленности

Опытная команда

сертифицированных

специалистов

О КОМПАНИИ КРОК

Page 3: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Примеры проблем с производительностью ПРИМЕРЫ ПРОБЛЕМ С ПРОИЗВОДИТЕЛЬНОСТЬЮ

Page 4: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

4

Page 5: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

В ЧЕМ ПРОБЛЕМА КОГДА ЧТО-ТО ПОШЛО НЕ ТАК...

Page 6: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

6

ЗАКАЗЧИК: Инжиниринговая компания полного цикла

УСЛОВИЯ: Активное тиражирование системы документооборота

ПРОБЛЕМА: Снижение производительности и недоступность системы в часы-пик,

Кейс №1: Сокращение издержек на закупку оборудования

Page 7: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

7

Page 8: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

8

Page 9: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

9

Page 10: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

БЕДА, ВСЕ УПАЛО, ЧТО ДЕЛАТЬ?(

Page 11: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

КАК ИНОГДА ПРИНИМАЮТСЯ РЕШЕНИЯ

Page 12: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

ЧТО ОПТИМИЗИРУЕМ И ПОЧЕМУ?

A B

A B

A B

Page 13: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

A

A

A

1. Какой вклад в общую производительность дают элементы IT?

2. Во сколько раз можно оптимизировать элемент IT?

3. Сколько это стоит?

ПЕРЕД ТЕМ КАК НАЧИНАТЬ ИНВЕСТИРОВАТЬ В IT

Page 14: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

1669 SQL запросов

1921 SQL запросов

Page 15: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

====================================================================================== | Id | Operation | Name | Time | Rows | Read | | | | | Active(s) | (Actual) | Bytes | ====================================================================================== | 0 | SELECT STATEMENT | | 449 | 4 | | | 1 | FILTER | | 449 | 4 | | | 2 | NESTED LOOPS OUTER | | 449 | 1M | | | 3 | NESTED LOOPS | | 449 | 1M | | | 4 | NESTED LOOPS | | 449 | 1M | | | 5 | NESTED LOOPS | | 449 | 1M | | | 6 | NESTED LOOPS | | 449 | 2M | | | 7 | NESTED LOOPS | | 449 | 2M | | | 8 | TABLE ACCESS FULL | TABLE1 | 452 | 2M | 1GB | | 9 | TABLE ACCESS BY INDEX ROWID | TABLE2 | 450 | 2M | 1GB | | 10 | INDEX UNIQUE SCAN | INDEX1 | 449 | 2M | 43MB | | 11 | INDEX UNIQUE SCAN | INDEX3 | 449 | 2M | 3MB | | 12 | TABLE ACCESS BY INDEX ROWID | TABLE3 | 449 | 1M | 416MB | | 13 | INDEX RANGE SCAN | INDEX4 | 449 | 1M | 357MB | | 14 | TABLE ACCESS BY INDEX ROWID | TABLE5 | 449 | 1M | 181MB | | 15 | INDEX UNIQUE SCAN | INDEX5 | 449 | 1M | 372MB | | 16 | TABLE ACCESS BY INDEX ROWID | TABLE2 | 449 | 1M | 1GB | | 17 | INDEX UNIQUE SCAN | INDEX1 | 449 | 1M | 166MB | | 18 | VIEW PUSHED PREDICATE | VIEW4 | 449 | 1M | | | 19 | NESTED LOOPS | | 449 | 1M | | | 20 | NESTED LOOPS | | 449 | 1M | | | 21 | TABLE ACCESS BY INDEX ROWID | TABLE6 | 449 | 1M | | | 22 | INDEX RANGE SCAN | INDEX6 | 449 | 1M | 250MB | | 23 | INDEX UNIQUE SCAN | INDEX7 | 449 | 1M | 24576 | | 24 | TABLE ACCESS BY INDEX ROWID | TABLE7 | 449 | 1M | 198MB | ======================================================================================

2 млн строк

4 строки

Page 16: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

16

ЗАКАЗЧИК: Инжиниринговая компания полного цикла

УСЛОВИЯ: Активное тиражирование системы документооборота

ПРОБЛЕМА: Снижение производительности и недоступность системы в часы-пик

ЧТО СДЕЛАНО: Аудит и оптимизация производительности IT-систем

РЕЗУЛЬТАТ:

• Реализовали проект по повышению быстродействия за счет

оптимизации программного кода и настроек компонентов системы

• Стабильная работа системы (устранение сбоев в работе системы)

• Нагрузка на сервер СУБД и приложений снижена на 50%

• Экономия 20+ млн. руб на новом оборудовании

• Повышение эффективности использования старого оборудования,

• Повышение производительности ключевых бизнес-операций на 50%

Кейс №1: Сокращение издержек на закупку оборудования

Page 17: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

17

ЗАКАЗЧИК: Нефтехимическая отрасль

УСЛОВИЯ: Эксплуатация и тиражирование системы документооборота

ПРОБЛЕМА: Снижение удовлетворенности пользователей быстродействием

Кейс №2: Оптимизация производительности ключевых

бизнес-операций

Page 18: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Название операции Сейчас,

сек

Хотим,

сек

Вход в систему 10 5

Открытие любого узла с докуменами 10-25 4

Сохранение документа 10-20 5

Формирование отчетов 30+ 20

… и еще 30 операций … …

Page 19: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

СУБД

Поиск

Справочники

Оперативные данные

Исторические данные

Сервер асинхронного выполнения

Пользователи Сеть

Сервера

приложений

Page 20: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

20

ЗАКАЗЧИК: Нефтехимическая отрасль

УСЛОВИЯ: Эксплуатация и тиражирование системы документооборота

ПРОБЛЕМА: Снижение удовлетворенности пользователей быстродействием

ЧТО СДЕЛАНО: профилирование целевых бизнес-операций,

рефакторинг алгоритмов и архитектуры, внедрение системы мониторинга

РЕЗУЛЬТАТ:

• Достижение целевых показателей в 90% кейсов

• Заложен фундамент для стабильной работы системы при дальнейшей

эксплуатации

• Экономия на покупке железа

Кейс №2: Оптимизация производительности ключевых

бизнес-операций

Page 21: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

21

ЗАКАЗЧИК: Легкая промышленность

УСЛОВИЯ: E-com площадка, высоконагруженная СУБД Oracle

ПРОБЛЕМА: Периодическое снижение производительности в «горячие» периоды

Кейс №3: Не все аудиты одинаково полезны

Page 22: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 23: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 24: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Рекомендации по

результатам аудита

Нормального человека Курильщика

Наиболее тяжелые запросы - это №1, №2 и №3. Рекомендуется их оптимизация

• Для запросов №1 и №2 - сделать хинт для

использования индекса INDEX_IX

• Запрос №3 –

создать индекс (id, parent_id, address)

Page 25: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

25

ЗАКАЗЧИК: Легкая промышленность

УСЛОВИЯ: E-com площадка, высоконагруженная СУБД Oracle

ПРОБЛЕМА: Периодическое снижение производительности в «горячие» периоды

ЧТО СДЕЛАНО: Аудит и оптимизация производительности СУБД,

разработана стратегия по дальнейшему развитию и поддержке

РЕЗУЛЬТАТ:

• Устранение узких мест в работе СУБД

• Повышение доступности системы

Кейс №3: Не все аудиты одинаково полезны

Page 26: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

26

ЗАКАЗЧИК: Энергетика

УСЛОВИЯ:

• Система документооборота

• Более 50000 сотрудников

• Более 70 предприятий

ПРОБЛЕМА: Поиск причин зависаний занимал часы и даже дни, а порой и

вовсе был затруднен из-за сложности архитектуры и ограничений

имеющихся инструментов

Кейс №4: Снижение времени на решение инцидентов

Page 27: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Java performance tuning survey results (part I)

СКОЛЬКО ВРЕМЕНИ КОМАНДЫ ТРАТЯТ НА РЕШЕНИЕ

ИНЦИДЕНТОВ?

Меньше часа

Меньше дня

Меньше недели

Меньше месяца

Больше месяца

Page 28: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

На что уходит время?

13% 12%

Решение

проблемы

Другое Поиск

причины

Сбор

диагностической

информации

Воспроизведение

20% 25% 30%

КУДА УХОДИТ ВРЕМЯ ПРИ РЕШЕНИИ ИНЦИДЕНТОВ?

Page 29: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Приложения все сложнее и сложнее

ПРИЛОЖЕНИЯ СТАНОВЯТСЯ СЛОЖНЕЕ И РАСПРЕДЕЛЕННЕЕ

– ПОИСК ПРИЧИН ЗАНИМАЕТ МНОГО ВРЕМЕНИ

Page 30: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Нужно собрать много диагностической

информации "[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'"

java.lang.Thread.State: RUNNABLE

at java.util.Calendar.getTime

at java.text.SimpleDateFormat.parse

at java.text.DateFormat.parse

...

at com.documentum.objectprotocol.AbstractObjectProtocol.deserializeTimeValue

at com.documentum.objectprotocol.AbstractObjectProtocol.deserializeSingleValue

at com.documentum.objectprotocol.AbstractObjectProtocol.deserializeValue

...

at com.documentum.objectmanager.PersistentDataManager.fetchFromServer

at com.documentum.objectmanager.PersistentDataManager.getData

at com.documentum.objectmanager.PersistentObjectManager.getObjectFromServer

at com.documentum.objectmanager.PersistentObjectManager.getObject

at com.documentum.session.Session.getObject

...

at com.documentum.web.formext.config.ConfigService.lookupElement

...

at com.croc.documentum.servlet.DatagridToJSONServlet.processRequest

at com.croc.documentum.servlet.DatagridToJSONServlet.doPost

at weblogic.work.ExecuteThread.execute

at weblogic.work.ExecuteThread.run

НУЖНО СОБРАТЬ И ПРОАНАЛИЗИРОТЬ ГИГАБАЙТЫ

ДИАГНОСТИЧЕСКОЙ ИНФОРМАЦИИ

Page 31: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

Системы класса APM предоставляют все

необходимые данные для обеспечения

надежной работы всех приложений,

находящихся в локальной, облачной

или гибридной среде компании.

ЦОД

Конечные пользователи

«Облако»

ЧТО ТАКОЕ АРМ (APPLICATION PERFORMANCE MONITORING)?

Сервер анализа данных

a

a

a

Page 32: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 33: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 34: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 35: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

/application/sed (286)

/application/sed (695)

/application/

/application/

/application/

/application/

/application/

/application/

/application/

application

application

application

application

server-N (1405)

Page 36: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

application server-server-server:port

Page 37: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 38: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 39: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое
Page 40: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

40

ЗАКАЗЧИК: Энергетика

УСЛОВИЯ:

• Система документооборота

• Более 50000 сотрудников

• Более 70 предприятий

ПРОБЛЕМА: Поиск причин зависаний занимал часы и даже дни, а порой и

вовсе был затруднен из-за сложности архитектуры и ограничений

имеющихся инструментов

ЧТО СДЕЛАНО: внедрение инструмента мониторинга производительности

РЕЗУЛЬТАТ:

• Сокращение времени решения проблем с быстродействием до нескольких минут

• 30% проблем, которые не могли быть решены ранее, нашли свое решение

• Высокая вовлеченность сотрудников отдела в использование инструмента

Кейс №4: Снижение времени на решение инцидентов

Page 41: IT-СИСТЕМ БЕЗ ВЛОЖЕНИЙ В ЖЕЛЕЗО: …...2019/12/18  · На что уходит время? 13% 12% Решение проблемы Поиск Другое

НИКОМУ НЕЛЬЗЯ ВЕРИТЬ

ИСПОЛЬЗУЙТЕ СОВРЕМЕННЫЕ МЕТОДИКИ И ИНСТРУМЕНТЫ

ЗАДУМЫВАТЬСЯ О ВОПРОСАХ ПРОИЗВОДИТЕЛЬНОСТИ ЗАРАНЕЕ

41

ВЫВОДЫ