Оптимизация производительности: магия или методика

27
ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ: МАГИЯ ИЛИ МЕТОДИКА Ярослав Киселев Москва, 13 октября 2016 Эксперт по оптимизации производительности приложений
  • date post

    13-Jan-2017
  • Category

    Technology

  • view

    271
  • download

    2

Transcript of Оптимизация производительности: магия или методика

Page 1: Оптимизация производительности: магия или методика

ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ:МАГИЯ ИЛИ МЕТОДИКА

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

Москва, 13 октября 2016

Эксперт по оптимизации производительности приложений

Page 2: Оптимизация производительности: магия или методика

2

ГДЕ ИСКАТЬ ПРИЧИНУ ПРОБЛЕМЫ?

SQL

Веб-сервисы

IO

БлокировкиCPU

Сборка мусора Неоптимальный план Кеш данных

IO

БлокировкиCPU

Память

CPU

JavaScript

Статическийконтент

Алгоритмы

Браузер Сервер приложений База данных

Page 3: Оптимизация производительности: магия или методика

3

КАК ЭТО ВЫГЛЯДИТ ОБЫЧНО?

Page 4: Оптимизация производительности: магия или методика

4

КАК ПРИНИМАЮТСЯ РЕШЕНИЯ?

- Добавляй кэша!- Перенести базу на SSD

- Добавим еще памяти- Нужно больше инстансов!

- Переписать все на С++- Переходим на NoSQL

Администраторы СУБДАдминистраторы приложенийРазработчики...

Page 5: Оптимизация производительности: магия или методика

5

КАК ЭТО ВЫГЛЯДИТ НА САМОМ ДЕЛЕ?

- Добавляй кэша!- Перенести базу на SSD

- Добавим еще памяти- Нужно больше инстансов!

- Переписать все на С++- Переходим на NoSQL

Page 6: Оптимизация производительности: магия или методика

6

НАМ ЭТО НЕ ПОДХОДИТ

Page 7: Оптимизация производительности: магия или методика

7

УЖЕ НЕМНОГО ЛУЧШЕ

SQLWeb Services

IO

БлокировкиCPU

Сборка мусораНеоптимальный план

Кеш данных

IO

БлокировкиCPU

ПамятьCPU

JavaScript

Статическийконтент

Алгоритмы

Браузер База данных

?

?

?

? ?

?

Сервер приложений

Page 8: Оптимизация производительности: магия или методика

8

СБОР ИНФОРМАЦИИ – ТРУДОЕМКАЯ РАБОТА

База данныхСервер приложений

Page 9: Оптимизация производительности: магия или методика

9

НА ПОМОЩЬ ПРИХОДИТ APM

Page 10: Оптимизация производительности: магия или методика

10

ВСЕВИДЯЩЕЕ ОКО APM

Page 11: Оптимизация производительности: магия или методика

11

ВСЕВИДЯЩЕЕ ОКО APM

Page 12: Оптимизация производительности: магия или методика

12

КЕЙС №1

Page 13: Оптимизация производительности: магия или методика

13

КЕЙС №1. АВИАДВИГАТЕЛЬ

• Приложение Teamcenter (Siemens) – используетсяна всем цикле производства

• Периодическое снижение производительностипосле обновлений ПО

• Отсутствие обратной связи от разработчика

Page 14: Оптимизация производительности: магия или методика

14

КЕЙС №1. АВИАДВИГАТЕЛЬ

Page 15: Оптимизация производительности: магия или методика

15

КЕЙС №1. АВИАДВИГАТЕЛЬ

• Повышение производительности более чем на 54%• Проблемы и причины видны сразу в едином представлении• Снижение времени простоя приложения

Page 16: Оптимизация производительности: магия или методика

16

КЕЙС №2. ГРИНАТОМ

Page 17: Оптимизация производительности: магия или методика

17

КЕЙС №2. ГРИНАТОМ

50000 тысяч пользователей70 предприятий в холдинге

Page 18: Оптимизация производительности: магия или методика

18

КЕЙС №2. ГРИНАТОМ

Page 19: Оптимизация производительности: магия или методика

19

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

Page 20: Оптимизация производительности: магия или методика

20

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

>20000 пользователей10000 транзакций в секунду

35000 SQL-запросов в СУБД в секунду

Page 21: Оптимизация производительности: магия или методика

21

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

Что предпринимали?

• Настройка приложения, OS, СУБД• Перевод СУБД на SSD• Увеличение мощностей приложения

Page 22: Оптимизация производительности: магия или методика

22

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

• Восстановление работоспособности за несколько рабочих дней• Найдены потенциальные узкие места• Рекомендации по избежанию подобных проблем в будущем• Мониторинг приложения на постоянной основе

Page 23: Оптимизация производительности: магия или методика

23

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

Page 24: Оптимизация производительности: магия или методика

24

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

Page 25: Оптимизация производительности: магия или методика

25

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

Page 26: Оптимизация производительности: магия или методика

26

КЕЙС №3. ВЫСОКОНАГРУЖЕННАЯ СИСТЕМА

Обращение к внешним ресурсам• OracleDB• Веб-сервисы

Время ушло на 3 вызовавеб-сервиса

Page 27: Оптимизация производительности: магия или методика

Ярослав КиселевЭксперт по оптимизации производительности приложений

111033, Москва, ул. Волочаевская, д.5, к.1

[email protected]

croc.ru

Т: (495) 974 22 74Ф: (495) 974 22 77

СПАСИБО ЗА ВНИМАНИЕ