From OpenSCADAWiki
Методика измерений в таблице выше следующая:
- 1. Оценка времени вычисления операций общего блокирования критической секции, "sin(Pi)" и "pow(Pi,2)", во второй, третьей и четвёртой колонках. Данные операции выбраны как показательные, для оценки производительности сопроцессора и общих манипуляций с вещественными числами. Значения в квадратных скобках характеризуют степень накладных расходов при вычислении внутри виртуальной машины OpenSCADA и производительность целочисленных вычислений вокруг образцовых операций. Т.е. основное значение характеризует производительность процессора в операциях с плавающей точкой (математический сопроцессор или эмуляция), а в квадратных скобках — в целочисленных операциях (центральный процессор), как разница времени операций с плавающей точкой. Методика измерения:
- a) обеспечиваем стабильность частоты центрального процессора, путём установки политики её управления в ПРОИЗВОДИТЕЛЬНОСТЬ;
- b) запускаем OpenSCADA без нагрузки, проект по умолчанию или с пустой конфигурацией, c конфигуратором UI.QTCfg, UI.WebCfg или UI.WebCfgD;
- c) открываем объект функции "sin()", а затем "pow()", модуля библиотеки математических функций;
- d) переходим во вкладку "Исполнить", устанавливаем "Включено", вводим значения аргументам "X" в 3.14159 и "Степень" в 2 (для "pow()"), устанавливаем количество запусков в 1000 (для большей репрезентативности можно увеличить, порядками, до общего времени операции не более 10 секунд);
- e) нажимаем "Исполнить" и получаем время исполнения;
- f) производим вычисления несколько раз, нажимая "Исполнить", добиваясь минимального значения;
- g) фиксируем минимальное значение, которое делим на 1000 (количество запусков) и получаем основное значение времени одного вычисления в микросекундах;
- h) переходим к объекту модуля внутренних вычислений OpenSCADA (DAQ.JavaLikeCalc);
- i) создаём там объект библиотеки функций "test", а в ней функцию "test", которую включаем;
- j) во вкладке "Программа" вводим текст команды ПУСТО, "y=sin(3.14159)", и затем "y=pow(3.14159, 2)";
- k) переходим во вкладку "Исполнить" и выполняем тоже самое, что в пунктах "d."-"g.";
- l) полученный результат записываем во второй колонке и считаем вспомогательным, в квадратных скобках, для третьей и четвёртой после вычитания значения во второй.
- 2. Комплексная оценка производительности, пятая колонка, осуществляется путём исполнения модели технологического процесса (ТП) АГЛКС на целевой архитектуре. Данный тест может исполняться только на вычислительных системах со сравнительно высокой производительностью (или с количеством ядер более одного), которые способны исполнять модель, и с устройством вывода графической информации (дисплей), случай исполнения сервера визуализации не рассматривается. Основное значение нагрузки процессора характеризует исполнение динамической модели ТП, а дополнительное добавляет формирование и исполнение графического интерфейса. Методика измерения:
- a) обеспечиваем стабильность частоты центрального процессора, путём установки политики её управления в ПРОИЗВОДИТЕЛЬНОСТЬ;
- b) из меню окружения рабочего стола запускаем модель АГЛКС;
- c) запускаем эмулятор терминала (например, "konsole"), где набираем "top", нажимаем Shift+H (смотрим процесс в целом) и Shift+P (сортируем по нагрузке на процессор);
- d) снимаем показания в колонке "%CPU" напротив процесса "openscada", отбираем типовое значение для нескольких обновлений и фиксируем его как основное значение;
- e) возвращаемся к окну OpenSCADA и запускаем среду визуализации, а затем проект интерфейса "АГЛКС".
- f) возвращаемся в эмулятор терминала и снимаем дополнительное значение, как в пункте "d.".