Разработка в HighLoad. Нужен ли эксперт?
Здравствуйте!
Задачи отдела
5’000+
55’000
Индекс это отражение процента довольных
Действуй на опережение
Это ВСЕГДА база данных
Нагрузку на сервер СУБД создают запросы
1. Изучи как «работает» индекс
2. Индексы платформы
3. Правильно оценивай качество запроса
4. Исследуй «физику» процесса
История одного костыля
История одного костыля
История одного костыля
Финал истории
Почему это важно
Наш опыт
Наш опыт
Наш опыт
Спасибо!
19.24M
Categories: informaticsinformatics softwaresoftware

Разработка в HighLoad. Нужен ли эксперт?

1. Разработка в HighLoad. Нужен ли эксперт?

2. Здравствуйте!

я Сергей Носков
Руководитель отдела производительности систем
в компании BIA Technologies
2

3. Задачи отдела

□ Аудит.
□ Оптимизация.
□ Нагрузочное тестирование.
3

4. 5’000+

Одновременно работающих пользователей
18’000 Gb
Суммарный объем данных
4

5. 55’000

1’500’000
Количество изменений документов за один рабочий день
55’000
Среднее число запросов в секунду
27’000
Среднее число транзакций в секунду
5

6.

APDEX
36.6°C не 100% показатель
здоровья, но это первое, что
мы проверяем.
6

7.

□ Определи важные бизнес-процессы.
□ Рассчитай ключевое время.
□ Учитывай количество
пользователей, меняй границы.
□ Нетерпеливые пользователи?
Измени 4Т на 3Т…
И да, apdex требует внедрения, как
любой другой бизнес-процесс.
7

8. Индекс это отражение процента довольных

8
Apdex
Отлично
0,94 – 1,00
Хорошо
0,85 - 0,93
Удовлетворительно
0,70 - 0,84
Плохо
0,50 - 0,69
Неприемлемо
0,00 - 0,49

9. Действуй на опережение

□ Контролируй отклонения от обычного уровня.
□ Заметил изменение - действуй сразу. Не жди.
9

10.

Разработка
Hi-Load
Для того, что бы база работала быстро,
достаточно всего лишь сделать это
10

11. Это ВСЕГДА база данных

11




Ты разрабатываешь базу данных.
Научись читать план запроса.
Изучи как работает индекс.
Не кидайся пилить запросы думай над архитектурой.
□ Ошибки неизбежны. Просто
имей это ввиду.

12. Нагрузку на сервер СУБД создают запросы

Place your screenshot here
Нагрузку на
сервер СУБД
создают запросы
Корреляция нагрузки на
процессор и количества запросов.
12

13. 1. Изучи как «работает» индекс

YouTube канал: Russian VC
Докладчик: Дмитрий Короткевич
Доклад: «Индексы и всё, всё, всё»
13

14. 2. Индексы платформы

Запомни принцип создания индексов
платформой 1С.
14

15.

Правильность архитектуры хранения
данных определяется тем, как будут
использоваться эти данные.
15

16. 3. Правильно оценивай качество запроса

Всего 2 параметра определяют
оптимальность запроса:
□ Объем прочитанных данных.
□ Затраченное процессорное время.
16

17. 4. Исследуй «физику» процесса

Разберись сам, почему стандарты именно
такие, исследуя «как это работает»





17
Как мой запрос «выглядит» в СУБД?
В цикле точно дольше/хуже?
А временная таблица тут нужна?.. а её индекс?
Где в СУБД виртуальные таблицы?

18.

ошибки
Примеры из сферы, где само их
наличие вызывает «шок и трепет».
18

19. История одного костыля

Механик
авиакомпании
Continental Airlines
19
Задача: установить титановую
пластину.
Проблема: отверстия на корпусе и
пластине не совпадают.

20. История одного костыля

Через 16 часов
пластина
отваливается при
взлете
20

21. История одного костыля

21

22. Финал истории

Кусок покрышки весом 4-5 кг врезается в крыло и
вызывает гидроудар в топливном баке.
22

23. Почему это важно

Извлекаем уроки.
□ Все косячат. Иногда самая простая доработка
вызывает самые большие проблемы.
□ Расследуй каждый сбой, каждую аварию.
□ Организуй «черные ящики» - собирай логи ТЖ
и нагрузку на железо.
□ Распиши, кто и что должен делать в момент
сбоя.
23

24. Наш опыт

Архитектура бизнес-процесса без регистров.
Когда
1. Простой бизнеспроцесс.
2. Фильтр по одному
реквизиту документа
возвращает очень
мало строк.
24
Риски
1. «Сюрпризы» при
доработках.
2. Хуже «оптимальность»
запросов.

25. Наш опыт

Одна таблицы для N-учетов.
Когда
1. Малый объем данных.
2. «Молодой» бизнес-процесс.
Риски
1. Регламенты на большой
таблице приводят к бо’льшим
проблемам.
2. Переделка не окупается.
25

26. Наш опыт

Консоль запросов «в массы».
Когда
1. Нет программистов.
2. «SLA??!
Не, не слышали..»
26
Риски
1. Потеря контроля.
2. Нет развития
архитектуры.
3. Не отобрать.

27. Спасибо!

Вопросы?
[email protected]
@SergeyANoskov
?
27
English     Русский Rules