Выбор начального размера кластера в Azure Cosmos DB для PostgreSQL
Область применения: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus до PostgreSQL)
Размер кластера, как количества узлов, так и их емкости оборудования, легко изменить. Однако вам по-прежнему нужно выбрать начальный размер для нового кластера. Ниже приведены некоторые советы по выбору.
Варианты использования
Azure Cosmos DB для PostgreSQL часто используется следующим образом.
Мультитенантное приложение SaaS
При миграции в Azure Cosmos DB для PostgreSQL из существующего экземпляра базы данных PostgreSQL выберите кластер, в котором количество рабочих виртуальных ядер и ОЗУ в общей сложности равно исходному экземпляру. В таких сценариях наблюдается улучшение производительности в 2–3 раза, так как сегментирование оптимизирует использование ресурсов, позволяет уменьшить индексы и т. д.
На самом деле, вам нужно выбрать только число виртуальных ядер. Выделение ОЗУ в настоящее время выполняется в зависимости от количества виртуальных ядер, как описано в статье о вычислениях и хранении. Для узла-координатора не требуется столько ОЗУ, сколько необходимо рабочим ролям, но возможности выбирать количество ОЗУ и виртуальных ядер независимо друг от друга нет.
Анализ в реальном времени
Общее количество виртуальных ядер: при использовании рабочих данных в ОЗУ можно ожидать линейного улучшения производительности в Azure Cosmos DB для PostgreSQL пропорционально количеству рабочих ядер. Чтобы определить правильное количество виртуальных ядер для ваших потребностей, рассмотрите текущую задержку запросов в базе данных с одним узлом и требуемую задержку в Azure Cosmos DB для PostgreSQL. Разделите текущее значение задержки на планируемое и округлите результат.
Объем ОЗУ для рабочей роли — желательно предоставить такой объем памяти, чтобы ее хватало для большей части рабочего набора данных. Тип запросов, используемых приложением, влияет на требования к памяти. Можно выполнить EXPLAIN ANALYZE для запроса, чтобы определить требуемый объем памяти. Учитывайте, что виртуальные ядра и ОЗУ масштабируются вместе, как описано в статье о вычислениях и хранении.
Следующие шаги
- Масштабирование кластера
- Дополнительные сведения о параметрах производительности кластера.