From OpenSCADAWiki
Метода вимірювання для таблиці вище наступна:
- 1. Оцінка часу обчислення операцій: загального блокування критичної секції, sin(Pi), pow(Pi,2). У другому, третьому та четвертому стовпчиках відповідно. Операції sin() і pow() обрано у якості показових для оцінки продуктивності сопроцесору та загальних маніпуляцій із реальними числами. Значення у квадратних дужках характеризує ступінь накладених витрат під час обчислення всередині віртуальної машини OpenSCADA та продуктивність цілочисельних обчислень довкола зразкових операцій. Тобто, основне значення характеризує продуктивність процесору у операціях із плаваючою точкою (математичний сопроцесор або емуляція), а у квадратних дужках у цілочисельних операціях (центральний процесор) як різниця часу операцій із плаваючою точкою. Метода вимірювання:
- a) забезпечуємо стабільність частоти центрального процесору шляхом встановлення політики її керування у ПРОДУКТИВНІСТЬ;
- b) запускаємо OpenSCADA без навантаження — проєкт по замовчанню або з порожньою конфігурацією, з конфігуратором 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.".