Перейти к содержимому
Последнее обновление

Обзор настройки производительности

Настройка производительности запросов представляет собой системную работу, которая требует оценки и оптимизации системы баз данных на разных уровнях и по разным направлениям. В этой статье с практической точки зрения рассматриваются общий процесс, методика и набор инструментов для настройки производительности 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. Дальнейшие шаги​