Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
Данный документ представляет методологии настройки производительности в YMatrix, охватывая оптимизацию системных ресурсов, настройку ресурсов базы данных и оптимизацию SQL-запросов.
Настройка производительности — это комплексная и критически важная задача.
Обычно существуют две причины для настройки производительности:
Предварительное условие:

Используйте данные мониторинга производительности и другую информацию о требованиях для описания текущего узкого места или потребностей в производительности.
Хорошее описание проблемы должно включать контекст и чётко формулировать наблюдаемую проблему. Оно должно быть лаконичным и, как правило, содержать, но не ограничиваться следующей информацией:
Лучший пример: Использование встроенного инструмента ввода данных в GUI YMatrix 5.0 для загрузки 2,8 миллиона строк; после 30 тестовых запусков задержка увеличилась с 30 секунд до 1 минуты — почти двукратное снижение производительности.
Худший пример: Генерация тестовых данных через GUI становится медленнее.
Цели оптимизации различаются в зависимости от бизнес-сценариев. Например, в сценарии временных рядов, таком как подключённые транспортные средства, целями могут быть повышение производительности агрегирующих запросов и операций соединения при детализированных запросах. В противоположность этому, для финансовой ядерной OLTP-системы целью может быть снижение задержки длинных хвостов транзакций.
Эффективная цель оптимизации должна быть измеримой, например:
Неприемлемо:
YMatrix рекомендует собирать, но не ограничиваться следующей информацией для анализа:
На основе собранной информации определите или выдвиньте гипотезу о корневой причине узкого места производительности. Для точного выявления проблемы может потребоваться несколько циклов сбора данных. Подробную методологию см. в разделе Настройка производительности.
Примечание!
Эффективная коммуникация и сотрудничество являются ключевыми для быстрого выявления корневых причин.
После выявления узкого места производительности предложите план оптимизации, который является низкозатратным, низкорисковым и обеспечивает максимальную выгоду.
Даже если решение предлагает наибольший потенциальный эффект для самого значимого узкого места, всегда оценивайте связанные с ним риски и стоимость реализации. Как правило, YMatrix рекомендует следующий порядок настройки, от наименьшей к наибольшей стоимости/риску:
ANALYZE для обновления статистики таблиц; или проанализируйте планы выполнения и перепишите SQL-запросы для снижения логической сложности и затрат на выполнение.Примечание!
Чтобы избежать необратимых узких мест при эксплуатации в продакшене, уделяйте большее внимание первоначальному проектированию. Научно планируйте, анализируйте и тестируйте модель данных для вашего сценария, чтобы обеспечить её корректность.
Процесс реализации настройки обычно включает, но не ограничивается следующими шагами:
Настройка производительности редко является однократной задачей. Для конкретной проблемы производительности может потребоваться несколько повторений шагов 2.3–2.7 до достижения удовлетворительных результатов.
Поэтому крайне важно чётко оценивать результаты настройки и предпринимать следующие действия: