Тестирование производительности систем мониторинга...
DESCRIPTION
Доклад Александра Андрущенко на конференции SQA Days-12, 30 ноября-1 декабря, МинскTRANSCRIPT
Тестирование производительности системы мониторинга на платформе Microsoft SCOM 2012
Александр АндрущенкоVIAcode
30-е ноября 2012Минск, Беларусь
О себе
Тестировщик по-жизни Manageability Guru Архитектор систем
мониторинга Компания VIAcode, Санкт-Петербург
В чем особенность тестирования?
?
Жизненный цикл продукта?
Жизненный цикл продукта!
Manageability
“Лёгкость администрирования”
НЕ
Модель ЗдоровьяП
род
укт
Симптом 1 Отказ 1 Рецепт
1Симпто
м 2 Отказ 2 Рецепт 2
Платформа мониторинга
Реализация модели здоровья
Management Pack
XML
Discovery
Script
Monitor
Script
Rule
Script
SCOM
Всплываем!
В чём же особенность?
Сложность Задачи
MPs + script
s
Агент
Система
Продукт
Сервер
Система
АгентКонсол
ь
Система
SQL
MPs + script
s
MPs + script
s
Цели тестирования
Минимизация влияния на объект мониторинга
Минимизация потребления ресурсов Определение максимального
количества объектов мониторинга Рекомендации по конфигурации
SCOM 2012 Рекомендации по масштабированию
Методика
Анализ структуры продукта Подготовка теста Тест (сбор данных) Обработка данных Анализ результатов Сравнение результатов Улучшение
Анализ Структуры Продукта
Скрипт
Агент
Система
Приложение
Сервер
Система
АгентКонсол
ь
Система
SQL
Тестовое Окружение
Конфигурация теста
Parameter name ValueTest duration 1 hoursAmount databases 50 databasesAmount file groups 50 DBs * 1 FG= 50Amount files 50 DBs * 1 FG * 2 File = 100Amount log files 50 DBs * 1 Log File = 50Total amount files 150SQL Load 35-40%SQL Load Duration 1 hourSQL Load Type SELECT, INSERTDatabase space monitoring Turn on all monitors and all performance counters. Parameter “Interval
seconds” changes for all objects from 15 min to 7 min.Database space monitoring Turn on all monitors and all performance counters. Parameter “Interval
seconds” changes for all objects from 15 min to 7 min.Discovery databases, file groups, files
Enabled. Parameter “Interval seconds” changes for all objects from 2 hours to 15 min.
Тест
Старт сбора
данныхНагрузка Нет
нагрузки
Нет Агента Агент Нет MP
Импорт MP Нагрузка
Экспорт Результат
ов
Автоматизация!
# Use PowerShell Remoting to execute script block on target serverInvoke-Command -ComputerName $server -ArgumentList $DataCollectorName -ScriptBlock {param($DataCollectorName)
# Create a new DataCollectorSet COM object, read in the XML file,# use that to set the XML setting, create the DataCollectorSet,# start it.$datacollectorset = New-Object -COM Pla.DataCollectorSet$xml = Get-Content C:\perftemp\DataCollectorSet.xml$datacollectorset.SetXml($xml)$datacollectorset.Commit("$DataCollectorName" , $null , 0x0003) | Out-Null$datacollectorset.start($false)
Обработка Данных
CSV SQL DB Excel Word
Обработка данных
#Create DB and views$conn=new-object System.Data.SqlClient.SQLConnection $conn.ConnectionString = "Server=.;Integrated Security=True;"$conn.Open()$conn.State$cmd = New-Object System.Data.SqlClient.SqlCommand$cmd.connection = $conn#Create DB PerfTest if it not exist$cmd.commandtext = "IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'PerfTest')BEGINCREATE DATABASE PerfTestEND"$cmd.executenonquery()#Create table for Perf Test DB$cmd.commandtext = "USE [PerfTest]IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'MP_DataCollector')BEGINDECLARE @script nvarchar(max) = 'CREATE TABLE [dbo].[MP_DataCollector]([(PDH-CSV 4 0) (Pacific Standard Time)(480)] [nvarchar](255) NULL,[Processor(_Total) % Processor Time][float] NULL,[Memory Available MBytes][float] NULL,[LogicalDisk(C:) % Free Space][float] NULL,
Анализ результатов
Сравнение результатов
Average values without load.
Parameter Original MP MP Beta 1 CPU
Average (%) 2.01 2.71 Max (%) 51.17 88.22
SQL Server Requests Average (requests/sec) 0.20 0.40
Average values by total time
Parameter Original MP MP Beta 1 Memory
Average (MB) 103.77 170.22 Health Service
Max (Workflow Count) 3435 6694 Durations
script (%) 1.20 5.32 Total Peak Durations (> 2 %)
Monitoring Processes (%) 2.61 7.04
Проблемы
Высокое потребление ресурсов CPU пики Утечки памяти Перезагрузка конфигурации Нет cookdown Нарушение работы
мониторящейся системы
CPU пики
Утечки Памяти
Перезагрузка конфигурации
Нет Cookdown
Script 1 Monitor 1
Script 2 Monitor 2
Script N Monitor N
Cookdown
Script 1
Monitor 1
Monitor 2
Monitor N
Разделение по времени
Script 1
Script 2
Script N
Разделение по времени
Script 1
Script 2
Script N
Ещё один случай
1 200 5000
1
2
3
4
5
6
Улучшение