Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

Результаты тестирования производительности системы "Контур Стандарт"

В данной статье рассказывается об основных показателях производительности системы класса OLAP-клиент, рассматриваются механизмы влияния различных факторов на эти показатели. В ней также определяется перечень требований к составу тестов производительности, приводится результатах тестирования производительности OLAP-системы "Контур Стандарт".

Требования к тестированию производительности OLAP-клиента

Система "Контур Стандарт" относится к классу OLAP-клиентов со встроенной машиной, то есть не хранит данные, а формирует запросы к имеющимся источникам (реляционным СУБД и локальным таблицам), строит многомерный куб в памяти клиентского компьютера и отображает "разрезы" куба в интерактивных OLAP-интерфейсах.

Производительность системы класса OLAP-клиент характеризуют два основных показателя:

  1. Время первоначальной загрузки куба в память клиентского компьютера (время выпуска отчета).
  2. Время выполнения OLAP-операций.

Величина данных показателей зависит от следующих факторов:

  • Объема обрабатываемых данных.
  • Структуры данных (количество записей, количество измерений, количество элементов измерений, длина измерений и количество фактов).
  • Типа источника данных (локальная таблица или сервер СУБД).
  • Мощности пользовательского компьютера.
  • Наличия диаграммы.

Рассмотрим механизмы влияния перечисленных факторов на показатели производительности OLAP-клиента и определим требования к проведению тестов производительности OLAP-клиента "Контур Стандарт".

Требования к тестированию времени загрузки куба

Влияние объема данных на время загрузки куба

OLAP-клиент в момент работы должен иметь в оперативной памяти весь куб: исходные данные и агрегаты. Если объем данных превышает объем оперативной памяти, задействуется виртуальная память. При этом происходит обмен (swapping) с диском, что существенно сказывается на скорости работы.

Влияние количества записей на время загрузки куба

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

При этом для ROLAP-клиента под количеством обрабатываемых записей следует понимать не число первичных записей БД, а размер агрегированной выборки из нее. Это связано с тем, что ROLAP-клиент выполняет распределенные вычисления. Он генерирует запрос к СУБД, в котором описываются условия фильтрации и алгоритм предварительной группировки первичных данных. Сервер СУБД находит, группирует записи и возвращает компактную выборку для дальнейших OLAP-вычислений. Размер этой выборки может быть в десятки и сотни раз меньше объема первичных, не агрегированных записей.

Требования тестирования времени загрузки куба в зависимости от количества записей исходной БД:

  1. Измеряется время загрузки кубов, создаваемых на основе таблиц с различным количеством записей: 5000, 50000, 100000, 1000000.
  2. Для оценки производительности системы используются таблицы с уникальными записями. Это позволяет точно определять объемы данных, которые обрабатывает в тестах OLAP-машина.

Влияние количества фактов, измерений, элементов измерений и длины измерений на время загрузки куба

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

С увеличением количества фактов, измерений, элементов измерений и длины измерений растет объем вычисляемого куба в оперативной памяти компьютера. Как уже упоминалось ранее, если объем куба превышает объем оперативной памяти, задействуется виртуальная память и время создания куба возрастает.

Требования тестирования времени загрузки куба в зависимости от количества элементов измерений:

  1. Измеряется время загрузки кубов, создаваемых на основе таблиц MS SQL с фиксированным количеством измерений.
  2. Используются два типа таблиц с фиксированным количеством измерений: с малым количеством элементов каждого измерения (до 66) и большим (до 15000).

Результат теста №1: кривые зависимости времени загрузки куба от количества записей при различном количестве членов измерений.

Влияние типа источника данных на время загрузки куба

Для получения данных от источника OLAP-клиент формирует SQL-запрос, содержащий условия первичной группировки данных. Для локальных таблиц первичная группировка происходит средствами "Контур Стандарт" на ПК пользователя. Время первоначальной загрузки данных при этом максимально. Если источником данных является реляционная СУБД, то первичная группировка выполняется средствами сервера БД. В этом случае время первоначальной загрузки данных зависит от мощности сервера. Также на время загрузки данных из источников данных, размещенных в локальной сети, влияет сетевой трафик и пропускная способность сети.

Требования тестирования времени загрузки куба в зависимости от типа источника данных:

  1. Измеряется время загрузки кубов, создаваемых на основе локальных таблиц и таблиц MS SQL.
  2. При тестировании времени загрузки из локальных таблиц источники данных и OLAP-клиент размещаются на одном компьютере. Это исключает влияние сетевого трафика на результаты теста.
  3. При тестировании времени загрузки из таблиц MS SQL в локальной сети работают только два компьютера: компьютер, на котором установлен сервер БД, и клиентский компьютер. Это минимизирует влияние сетевого трафика на результаты теста.

Результат теста №2: кривые зависимости времени загрузки куба от количества записей для локальных таблиц и таблиц MS SQL. В таблице результатов для локальных таблиц время загрузки отчета в оперативной памяти складывается из времени выполнения SQL-запроса и времени формирования куба.

Влияние объема оперативной памяти ПК на время загрузки куба

Базовый принцип работы OLAP-клиентов - работа с многомерным кубом в памяти пользовательского компьютера. Объем куба, загруженного в память, складывается из объема исходных таблиц и объема вычисленных агрегатов. В зависимости от объема куба для его загрузки может задействоваться не только оперативная, но и виртуальная память. В этом случае скорость загрузки куба снижается.

Замечание. Оптимизированный механизм работы "Контур Стандарт" со swap-данными обеспечивает незначительные темпы снижения скорости загрузки.

Требования тестирования времени загрузки куба в зависимости от объема памяти ПК:

  1. Измеряется время загрузки кубов, создаваемых из локальных таблиц на ПК с различными объемами памяти: 128 Мб и 256 Мб.
  2. Тест выполняется для загрузки куба из локальных таблиц, то есть первичная группировка данных выполняется на клиентском компьютере. Это исключает влияние механизмов распределенных вычислений (см. раздел "Влияние типа источника данных на время загрузки куба") на результаты теста.
  3. При тестировании времени загрузки из локальных таблиц источники данных и OLAP-клиент размещаются на одном компьютере. Это исключает влияние сетевого трафика на результаты теста.

Результат теста №3: кривые зависимости времени загрузки куба от количества записей для компьютеров с различными объемами оперативной памяти.

Влияние мощности процессора

OLAP-операции являются вычислительными алгоритмами, следовательно, повышение мощности процессора пропорционально увеличивает скорость работы OLAP-клиента.

Тестирование проводилось на компьютерах с процессорами невысокой мощности - Pentium Celeron 400MГц.

Влияние диаграммы на время загрузки куба

По умолчанию динамическая таблица OLAP-отчета "Контур Стандарт" сопровождается диаграммой. Построение графической иллюстрации замедляет процесс формирования отчета.

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

Требования к тестированию времени выполнения OLAP-операций

Влияние объема и структуры обрабатываемых данных на время выполнения OLAP-операций

При выполнении любой OLAP-операции над данными многомерного куба выполняется перерасчет фактов. С ростом объема куба (объема данных, количества измерений, фактов и т.д.) увеличивается время выполнения расчетов - OLAP-операций.

Влияние типов OLAP-операций на время их выполнения

В зависимости от сложности алгоритма перерасчета фактов различные OLAP-операции имеют разное время выполнения.

Влияние типа источника данных на время выполнения OLAP-операций

На время выполнения OLAP-операций тип источника данных не влияет, поскольку OLAP-клиент при выполнении OLAP-операций работает с готовым кубом в оперативной памяти ПК пользователя.

Влияние объема оперативной памяти ПК на время выполнения OLAP-операций

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

Требования тестирования времени выполнения OLAP-операция в зависимости от объема памяти ПК:
  1. Измеряется время выполнения 4 различных OLAP-операций на ПК с различными объемами памяти: 128 Мб и 256 Мб.
  2. Выполняется тестирование куба, созданного на основе таблиц исходных данных с различным количеством записей: 100000, 1000000 и большим количеством элементов измерений (до 15000).

Результат теста №4,5: 2 столбчатые диаграммы, демонстрирующие время выполнения 4 различных OLAP-операций на ПК с различными объемами оперативной памяти.

Влияние мощности процессора на время выполнения OLAP-операций

OLAP-операции являются вычислительными алгоритмами, следовательно, повышение мощности процессора пропорционально увеличивает скорость работы OLAP-клиента.

Тестирование проводилось на компьютерах с процессорами невысокой мощности - Pentium Celeron 400MГц.

Влияние диаграммы на время выполнения OLAP-операций

OLAP-операции над данными динамической таблицы приводят к перестройке диаграммы, что замедляет время переформирования OLAP-отчета.

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

Результаты тестирования производительности системы "Контур Стандарт"

Рассмотрим условия проведения перечисленных тестов производительности системы "Контур Стандарт" и их результаты:

  1. Общие неизменяемые условия тестирования (программное и аппаратное обеспечение, параметры таблиц исходных данных и создаваемого куба) приводятся перед описанием тестов.
  2. Условия проведения конкретных тестов и их результаты приводятся в отдельных разделах.

Общие условия тестирования

Аппаратное и программное обеспечение

  1. Клиентский компьютер: Pentium Celeron 400МГц
    ОС: Windows NT
  2. Сервер БД: Pentium Celeron 400Mg 256Мб, контроллер дисков IDE
    ОС: Windows NT
    СУБД: MS SQL Server 2000

Параметры таблиц исходных данных

По 5 таблиц: DBF и MS SQL следующего объема:

Количество уникальных записей таблицы 5000 50000 100000 500000 1000000
Объем файла, Kб 1256 12647 25294 126466 252930

Параметры создаваемого куба

  1. Количество измерений: 7
  2. Количество фактов: 1
  3. Длина измерений:

    Измерение Region Country City Store Product Item Date
    Длина 40 15 40 20 15 40 10

  4. Синхронная диаграмма: отключена.

Тест №1. Зависимость времени загрузки от количества элементов измерений

Условия тестирования

  1. Объем оперативной памяти: 256Мб
  2. Таблицы исходных данных MS SQL: по 5 таблиц с фиксированным количеством элементов измерений:
    Таблицы с малым количеством элементов измерений (до 66):

    Измерение Region Country City Store Product Item Date
    Количество элементов 1 3 34 66 5 23 1

    Таблицы с большим количеством элементов измерений (до 15000):

    Измерение Region Country City Store Product Item Date
    Количество элементов 7 13 34 100 15 15000 ~

Результаты тестирования


Рис. 1. Зависимость времени загрузки данных от количества записей при различном количестве членов измерений. Ось У - время загрузки (сек), ось Х - количество записей в таблицах источников данных. R - префикс для таблиц с большим количеством измерений

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

Тест №2. Зависимость времени загрузки от типа источника данных

Условия тестирования

  1. Объем оперативной памяти: 256Мб
  2. Таблицы исходных данных: по 5 таблиц DBF и MS SQL с фиксированным количеством элементов измерений:

    Измерение Region Country City Store Product Item Date
    Количество элементов 1 3 34 66 5 23 1

Результаты тестирования

Рис. 2. Зависимости времени загрузки куба от количества записей для локальных таблиц и таблиц MS SQL. Ось Y - время загрузки (сек.), ось X - количество записей в таблицах источников данных

Результаты тестирования показывают, что время загрузки локальных таблиц превышает время загрузки таблиц MS SQL.

Тест №3. Зависимость времени загрузки от объема оперативной памяти клиентского компьютера

Условия тестирования

  1. Объем оперативной памяти: 128Мб и 256Мб
  2. Таблицы исходных данных: 5 таблиц DBF с фиксированным количеством элементов измерений:

    Измерение Region Country City Store Product Item Date
    Количество элементов 1 3 34 66 5 23 1

Результаты тестирования

Рис. 3. Зависимость времени загрузки куба от количества записей для компьютеров с различными объемами оперативной памяти. Ось Y - время загрузки (сек.), ось X - количество записей в таблицах источников данных

Результаты демонстрируют обратную зависимость времени загрузки куба от объема оперативной памяти ПК пользователя.

Тест №4,5. Зависимость времени выполнения OLAP-операций от объема оперативной памяти клиентского компьютера

Условия тестирования

  1. Объем оперативной памяти: 128Мб и 256Мб
  2. Таблицы исходных данных: 2 таблицы с фиксированным количеством элементов измерений:

    Измерение Region Country City Store Product Item Date
    Количество элементов 7 13 34 100 15 15000 ~
  3. OLAP-операции: 5 операций с различными алгоритмами расчетов:
    • включение фильтра,
    • выключение фильтра,
    • раскрытие измерения,
    • закрытие измерения.

Результаты тестирования

Рис. 4. Зависимость времени выполнения различных OLAP-операций на ПК с различными объемами оперативной памяти. Количество записей - 100000

Рис. 5. Зависимость времени выполнения различных OLAP-операций на ПК с различными объемами оперативной памяти. Количество записей - 1000000

Результаты тестирования показывают обратную зависимость времени выполнения OLAP-операций от объема оперативной памяти ПК пользователя. При этом зависимость практически не влияет на работу пользователей.

Международный тест FASMI требует, чтобы OLAP-операции выполнялись в пределах 25 секунд. Результаты тестирования "Контур Стандарт" показывают, что он удовлетворяет требованиям FASMI на объемах данных до 1 млн. записей.