34.4. Планирование ресурсов #

При развёртывании встроенной аналитической платформы необходимо выделить достаточное количество вычислительных ресурсов для выполнения аналитических запросов. Количество требуемых ресурсов зависит от следующих параметров хранилища:

В этом разделе приведены рекомендации по определению необходимого количества вычислительных ресурсов для различных OLAP-нагрузок. После развёртывания встроенной аналитической платформы выполняйте мониторинг доступных вычислительных ресурсов и будьте готовы при необходимости выделить дополнительные ресурсы за пределами этих рекомендаций.

Для планирования ресурсов можно использовать результаты тестов производительности, выполненных Postgres Pro. За более подробной информацией обратитесь к разделу Результаты тестов производительности.

34.4.1. Общий объём OLAP-данных в хранилище #

Для Parquet-файлов, используемых в аналитических запросах, необходимо выделить достаточное количество свободного места в локальном, сетевом или S3-хранилище. Как правило, Parquet-файлы хранятся в сжатом формате, например Snappy или zstd, и составляют около 30% от первичных неструктурированных текстовых данных или данных таблиц Postgres Pro.

Хранилище должно иметь достаточную пропускную способность для поддержки всех аналитических запросов на чтение и запись при пиковых нагрузках.

34.4.2. Объём данных, обрабатываемых стандартным аналитическим запросом #

Для эффективного выполнения некоторых аналитических запросов требуется большое количество оперативной памяти, в частности:

  • Соединение двух больших таблиц

  • Агрегирование большого количество уникальных ключей

  • Сортировка больших таблиц

Если расширению pgpro_duckdb не хватает оперативной памяти для выполнения аналитического запроса, связанные с ним данные помещаются во временные файлы, что значительно увеличивает время выполнения такого запроса. Чтобы максимально увеличить общую пропускную способность кластера Postgres Pro и количество аналитических запросов, выполняемых за единицу времени, обрабатывайте большую часть аналитических запросов в оперативной памяти.

Однако временные файлы можно использовать при обработке ресурсоёмких аналитических запросов с большим временем выполнения (например, несколько часов).

Каждые 24 часа выполняйте мониторинг количества временных файлов, создаваемых расширением pgpro_duckdb, и избегайте пиковых значений. Временные файлы располагаются в каталоге PGDATA/.tmp.

Объём оперативной памяти, необходимый для конкретной OLAP-нагрузки, зависит от количества и размера аналитических запросов в экземпляре Postgres Pro Enterprise. Выполняйте мониторинг доступной оперативной памяти и при необходимости выделяйте дополнительную оперативную память. Для изначального развёртывания выделите около 6 ГБ оперативной памяти на каждое ядро ЦП, зарезервированное для выполнения аналитических запросов.

34.4.3. Требуемое время выполнения аналитических запросов #

Некоторые аналитические запросы должны быть выполнены в течение ограниченного периода времени. В частности это относится к интерактивным запросам, а также к запросам, результаты которых должны быть доступны к определённой дате и времени, например к началу рабочего дня. Если для выполнения аналитических запросов выделено достаточно оперативной памяти, и для них не создаются временные файлы, время выполнения определяется количеством ядер ЦП, которые зарезервированы для выполнения аналитических запросов.

Для определения необходимого количества ядер ЦП используйте внутренние тесты производительности. В рамках таких тестов к тестовым данным выполняются чувствительные ко времени аналитические запросы. Размер и структура тестовых данных имитируют реальные данные, которые будут использованы.

Для изначального развёртывания зарезервируйте около 4 ядер ЦП на каждый аналитический запрос, то есть на каждого аналитика.

34.4.4. Количество аналитических запросов, выполненных за единицу времени #

После выделения вычислительных ресурсов, необходимых для выполнения аналитических запросов, посчитайте нагрузку от параллельно выполняемых аналитических запросов. Пик этой нагрузки зачастую происходит один раз в рабочее время или при выполнении ресурсоёмких ETL-задач.

Выполнение некоторых ETL-задач можно запланировать на конкретное время дня, в то время как для других задач, таких как выполнение незапланированных (ad-hoc) аналитических запросов, это сделать невозможно.

Избегайте пиковых OLAP-нагрузок за счёт равномерного распределения выполнения аналитических запросов в течение дня, оставляя при этом запас в 30% для непредвиденных задач.

Расширение pgpro_duckdb обрабатывает аналитические запросы линейно, пока ему хватает ресурсов ввода/вывода, оперативной памяти, а также ЦП. При истощении этих ресурсов производительность падает.

Рекомендации по избежанию истощения ресурсов:

  • Устраните узкие места в кластере Postgres Pro.

  • Снизьте пиковые OLAP-нагрузки.

  • Оптимизируйте выполнение аналитических запросов.

  • Перенесите ETL-задачи и незапланированные аналитические запросы на выделенный сервер Postgres Pro, например на асинхронную резервную реплику.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy