Нефункциональные особенности#

Тесты проводились при условиях:

  • Использовались синтетические данные для построения OLAP-куба.

  • Количество виртуальных пользователей, подающих нагрузку — 50.

  • Длительность работы системы под нагрузкой указана в сценарии.

  • Использовался OLAP-куб с 1,5 млрд строк в таблице фактов.

  • Окружение и настройки среды, на которой производится тестирование, соответствуют требованиям безопасности.

Критерии успешности проведения тестов#

  • Продукт обеспечивает максимальную производительность на уровне профиля нагрузки.

  • Интенсивность операций соответствует профилю нагрузки.

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

  • Сетевой трафик соответствует уровню подаваемой нагрузки.

  • Утилизация ресурсов не превышает значений:

    Параметры

    Пороговое значение

    CPU

    80%

    RAM

    80%

    Connection DB

    80%

    Thread pools

    80%

  • Размещение секрета в файловой системе в открытом виде не должно превышать 2сек.

Конфигурации стенда#

Система

Параметр

Конфигурация

OLAP

Операционная система

SberLinux 8.7

Процессор

16

Память

64 ГБ

Дисковая система

HDD 98 ГБ

MDXK

Операционная система

SberLinux 8.7

Процессор

8

Память

16 ГБ

Дисковая система

HDD 98 ГБ

Pangolin/PostgreSQL

Операционная система

SberLinux 8.7

Процессор

4

Память

4 ГБ

Дисковая система

HDD 100 ГБ

NameNode, YARN ResourceManager (SDP Hadoop (SB-DPH))

Операционная система

SberLinux 8.7

Процессор

16

Память

94 ГБ

Дисковая система

HDD 2 TB

1 узел Datanode, YARN NodeManager (SDP Hadoop (SB-DPH))

Операционная система

SberLinux 8.7

Процессор

38

Память

313 ГБ

Дисковая система

HDD 25 TB

2 узла Datanode, YARN NodeManager (SDP Hadoop (SB-DPH))

Операционная система

SberLinux 8.7

Процессор

38

Память

312 ГБ

Дисковая система

HDD 25 TB

3 узла Datanode, YARN NodeManager (SDP Hadoop (SB-DPH))

Операционная система

SberLinux 8.7

Процессор

38

Память

312 ГБ

Дисковая система

HDD 25 TB

Конфигурация Spark

kylin.storage.columnar.spark-conf.spark.driver.memory

30 ГБ

kylin.storage.columnar.spark-conf.spark.executor.memory

35 ГБ

kylin.storage.columnar.spark-conf.spark.executor.memoryOverhead

3 ГБ

kylin.storage.columnar.spark-conf.spark.executor.cores

5

kylin.storage.columnar.spark-conf.spark.executor.instances

15

Конфигурация Yarn

kylin.storage.columnar.spark-conf.spark.yarn.am.memory

10 ГБ

Параметры OLAP-куба: количество строк в таблице фактов — 1,576 млрд.

Сценарии нагрузочного тестирования#

Вид тестирования

Цель

Сценарий теста

Время

Тест определения максимальной производительности

Определить уровень нагрузки L0 (последняя ступень нагрузки, на которой не будут нарушены Нефункциональные требования к программному компоненту).

  1. Установка нужной конфигурации.

  2. Запуск генерации нагрузки с профилем 1 tps.

  3. Удержание нагрузки в течении 15 минут.

  4. Поднятие интенсивности на 1 tps.

  5. Повторение шагов 3 и 4 до момента полной или частичной деградации производительности системы

Пошаговое увеличение нагрузки происходит до тех пор, пока не нарушится Нефункциональные требования к программному компоненту

Тест подтверждения максимума

Зафиксировать максимальный уровень нагрузки Lmax

  1. Установка нужной конфигурации.

  2. Запуск генерации нагрузки на уровне 100% от L0.

  3. Удержание нагрузки в течение 1 часа, без нарушения Нефункциональные требования к программному компоненту

1 час

Тест надежности

Зафиксировать отсутствие утечки ресурсов и деградации производительности

  1. Установка нужной конфигурации.

  2. Запуск генерации нагрузки на уровне 70% от L0.

  3. Удержание нагрузки в течение 24 часов, без нарушения Нефункциональные требования к программному компоненту

24 часа

Результаты#

Тест определения максимальной производительности#

Название метрики

График

Комментарий

Подаваемая интенсивность, tps

Определен уровень нагрузки L0, который соответствует 5 tps

Время отклика (95 перцентиль), с

Время отклика (95 перцентиль):

  1. 0.835 с;

  2. 0.107 с;

  3. 2.68 с;

  4. 0.107 с;

  5. 2.68 с;

  6. 0.835 с.

Тест подтверждения максимума#

Название метрики

График

Комментарий

Подаваемая интенсивность, tps

Фактическая средняя интенсивность соответствует заявленной — 5 tps (100% от L0)

Время отклика (95 перцентиль), с

Время отклика (95 перцентиль):

  1. 0.697 с;

  2. 0.109 с;

  3. 2.51 с;

  4. 0.109 с;

  5. 2.51 с;

  6. 0.697 с.

Тест надежности#

Название метрики

График

Комментарий

Подаваемая интенсивность, tps

Фактическая средняя интенсивность соответствует заявленной — 4 операции в секунду (70% от L0)

Время отклика (95 перцентиль), с

Время отклика (95 перцентиль):

  1. 0.571 с;

  2. 0.256 с;

  3. 2.07 с;

  4. 0.256 с;

  5. 2.07 с;

  6. 0.571 с.