Обзор настройки производительности
Настройка производительности запросов представляет собой системную работу, которая требует оценки и оптимизации системы баз данных на разных уровнях и по разным направлениям. В этой статье с практической точки зрения рассматриваются общий процесс, методика и набор инструментов для настройки производительности Apache Doris.
Контрольный список: что проверить перед началом настройки
Прежде чем приступать к конкретным работам по настройке, убедитесь в следующем:
- Вы знаете аппаратную конфигурацию прикладной системы (CPU, память, диски, сеть).
- Вы уточнили размер кластера Doris (количество узлов FE/BE).
- Вы уточнили версию Doris и поддерживаемые ею функции.
- Вы можете отличить «медленную работу бизнес-процессов» от «медленного выполнения SQL» и определить конкретный проблемный SQL-запрос.
- Вы знакомы с доступными инструментами диагностики и анализа.
1. Методика настройки производительности
Настройку производительности можно описать одним предложением: Сначала изучите систему, затем найдите медленные SQL-запросы, после этого выявите узкие места с помощью инструментов и, наконец, выполните оптимизацию.
1.1 Настройка в четыре этапа
В следующей таблице представлен основной процесс настройки производительности:
| Этап | Цель | Основные действия |
|---|---|---|
| 1 | Изучить систему | Ознакомиться с аппаратной конфигурацией, размером кластера, версией Doris и особенностями этой версии |
| 2 | Найти проблемный SQL-запрос | Использовать инструменты диагностики для быстрого и эффективного поиска медленных SQL-запросов |
| 3 | Проанализировать узкие места производительности | Использовать встроенные инструменты Doris и стандартные инструменты операционной системы для сбора информации о работе системы |
| 4 | Выполнить настройку | На основе анализа узких мест скорректировать параметры, переписать SQL и применить способы оптимизации, такие как индексы и материализованные представления |
1.2 Описание каждого этапа
- Этап 1: изучите систему. Пользователям со стороны бизнеса и администраторам баз данных (DBA) необходимо получить полное представление об используемой системе баз данных, чтобы не искать причины проблем в неверном направлении.
- Этап 2: найдите медленные SQL-запросы. Для выявления проблем с производительностью необходим удобный инструмент диагностики. Дальнейшая работа имеет смысл только после того, как проблемный SQL-запрос быстро найден.
- Этап 3: проанализируйте узкие места. Используйте специализированные инструменты Doris (например, Profile и Explain) вместе со стандартными инструментами операционной системы (например, top и iostat), чтобы определить, где находится узкое место.
- Этап 4: выполните оптимизацию. На основе подробной информации о выполнении и дополнительного анализа внесите целевые изменения в конфигурацию или перепишите SQL.
2. Инструменты настройки, предоставляемые Doris
Apache Doris предоставляет инструменты для каждого этапа настройки. В следующей таблице показано, для каких задач они предназначены:
| Категория инструментов | Решаемая задача | Раздел документации |
|---|---|---|
| Инструменты диагностики | Быстрый поиск медленных и проблемных SQL-запросов | Инструменты диагностики |
| Инструменты анализа | Анализ подробностей выполнения SQL и узких мест | Инструменты анализа |
| Процесс настройки | Полное практическое руководство по настройке от начала до конца | Процесс настройки |
3. Частые вопросы и распространённые заблуждения
Вопрос 1: обязательно ли начинать настройку производительности с переписывания SQL?
Не обязательно. Настройку следует начинать с изучения системы и поиска медленных SQL-запросов. Если пропустить эти два этапа и сразу перейти к переписыванию SQL, можно упустить настоящее узкое место.
Вопрос 2: достаточно ли только встроенных инструментов Doris?
Нет. Стандартные инструменты операционной системы (например, top, iostat и vmstat) служат дополнительными средствами, которые помогают выявить узкие места, связанные с CPU, IO и памятью.
Вопрос 3: только ли DBA должны заниматься настройкой?
Нет. Настройка производительности требует совместной работы пользователей со стороны бизнеса, DBA и даже разработчиков: пользователи понимают семантику SQL, а DBA знают особенности кластера и базы данных.
4. Дальнейшие шаги
- Поиск медленных SQL-запросов: см. Инструменты диагностики
- Анализ подробностей выполнения: см. Инструменты анализа
- Практическое руководство от начала до конца: см. Процесс настройки